Repository: discordjs/discord.js
File: packages/core/src/api/monetization.ts (TypeScript)

Code before:
	type RESTGetAPIEntitlementsQuery,
	type RESTGetAPIEntitlementsResult,
	type RESTGetAPISKUsResult,
	type RESTGetAPISKUSubscriptionResult,
	type RESTGetAPISKUSubscriptionsQuery,
	type RESTGetAPISKUSubscriptionsResult,
	type RESTPostAPIEntitlementJSONBody,
	type RESTPostAPIEntitlementResult,
	type Snowflake,
} from 'discord-api-types/v10';

export class MonetizationAPI {
	public constructor(private readonly rest: REST) {}

	/**
	 * Fetches the SKUs for an application.
	 *
	 * @see {@link https://discord.com/developers/docs/resources/sku#list-skus}
	 * @param options - The options for fetching the SKUs.
	 */
	public async getSKUs(applicationId: Snowflake, { signal }: Pick<RequestData, 'signal'> = {}) {
		return this.rest.get(Routes.skus(applicationId), { signal }) as Promise<RESTGetAPISKUsResult>;
	}

	/**
	 * Fetches the subscriptions for a SKU.
	 *
	 * @see {@link https://discord.com/developers/docs/resources/subscription#list-sku-subscriptions}
	 * @param skuId - The SKU id to fetch subscriptions for
	 * @param query - The query options for fetching subscriptions
	 * @param options - The options for fetching subscriptions
	 */
	public async getSKUSubscriptions(
		skuId: Snowflake,
		query: RESTGetAPISKUSubscriptionsQuery,
		{ signal }: Pick<RequestData, 'signal'> = {},
	) {
		return this.rest.get(Routes.skuSubscriptions(skuId), {
			signal,
			query: makeURLSearchParams(query),
		}) as Promise<RESTGetAPISKUSubscriptionsResult>;
	}

	/**
	 * Fetches the subscription for a SKU.
	 *
	 * @see {@link https://discord.com/developers/docs/resources/subscription#get-sku-subscription}
	 * @param skuId - The SKU id to fetch subscription for
	 * @param options - The options for fetching the subscription
	 */
	public async getSKUSubscription(

Review comment (suggestion):
```suggestion
	 * Fetches the subscriptions for an SKU.
```

Code after:
	type RESTGetAPIEntitlementsQuery,
	type RESTGetAPIEntitlementsResult,
	type RESTGetAPISKUsResult,
	type RESTGetAPISKUSubscriptionResult,
	type RESTGetAPISKUSubscriptionsQuery,
	type RESTGetAPISKUSubscriptionsResult,
	type RESTPostAPIEntitlementJSONBody,
	type RESTPostAPIEntitlementResult,
	type Snowflake,
} from 'discord-api-types/v10';

export class MonetizationAPI {
	public constructor(private readonly rest: REST) {}

	/**
	 * Fetches the SKUs for an application.
	 *
	 * @see {@link https://discord.com/developers/docs/resources/sku#list-skus}
	 * @param applicationId - The application id to fetch SKUs for
	 * @param options - The options for fetching the SKUs.
	 */
	public async getSKUs(applicationId: Snowflake, { signal }: Pick<RequestData, 'signal'> = {}) {
		return this.rest.get(Routes.skus(applicationId), { signal }) as Promise<RESTGetAPISKUsResult>;
	}

	/**
	 * Fetches subscriptions for an SKU.
	 *
	 * @see {@link https://discord.com/developers/docs/resources/subscription#list-sku-subscriptions}
	 * @param skuId - The SKU id to fetch subscriptions for
	 * @param query - The query options for fetching subscriptions
	 * @param options - The options for fetching subscriptions
	 */
	public async getSKUSubscriptions(
		skuId: Snowflake,
		query: RESTGetAPISKUSubscriptionsQuery,
		{ signal }: Pick<RequestData, 'signal'> = {},
	) {
		return this.rest.get(Routes.skuSubscriptions(skuId), {
			signal,
			query: makeURLSearchParams(query),
		}) as Promise<RESTGetAPISKUSubscriptionsResult>;
	}

	/**
	 * Fetches a subscription for an SKU.
	 *
	 * @see {@link https://discord.com/developers/docs/resources/subscription#get-sku-subscription}
	 * @param skuId - The SKU id to fetch subscription for
	 * @param subscriptionId - The subscription id to fetch
	 * @param options - The options for fetching the subscription