import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; import { type NormalizedClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import type * as Square from "../../../index"; export declare namespace SubscriptionsClient { type Options = BaseClientOptions; interface RequestOptions extends BaseRequestOptions { } } export declare class SubscriptionsClient { protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options?: SubscriptionsClient.Options); /** * Enrolls a customer in a subscription. * * If you provide a card on file in the request, Square charges the card for * the subscription. Otherwise, Square sends an invoice to the customer's email * address. The subscription starts immediately, unless the request includes * the optional `start_date`. Each individual subscription is associated with a particular location. * * For more information, see [Create a subscription](https://developer.squareup.com/docs/subscriptions-api/manage-subscriptions#create-a-subscription). * * @param {Square.CreateSubscriptionRequest} request * @param {SubscriptionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.subscriptions.create({ * idempotencyKey: "8193148c-9586-11e6-99f9-28cfe92138cf", * locationId: "S8GWD5R9QB376", * planVariationId: "6JHXF3B2CW3YKHDV4XEM674H", * customerId: "CHFGVKYY8RSV93M5KCYTG4PN0G", * startDate: "2023-06-20", * cardId: "ccof:qy5x8hHGYsgLrp4Q4GB", * timezone: "America/Los_Angeles", * source: { * name: "My Application" * }, * phases: [{ * ordinal: BigInt("0"), * orderTemplateId: "U2NaowWxzXwpsZU697x7ZHOAnCNZY" * }] * }) */ create(request: Square.CreateSubscriptionRequest, requestOptions?: SubscriptionsClient.RequestOptions): core.HttpResponsePromise; private __create; /** * Schedules a plan variation change for all active subscriptions under a given plan * variation. For more information, see [Swap Subscription Plan Variations](https://developer.squareup.com/docs/subscriptions-api/swap-plan-variations). * * @param {Square.BulkSwapPlanRequest} request * @param {SubscriptionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.subscriptions.bulkSwapPlan({ * newPlanVariationId: "FQ7CDXXWSLUJRPM3GFJSJGZ7", * oldPlanVariationId: "6JHXF3B2CW3YKHDV4XEM674H", * locationId: "S8GWD5R9QB376" * }) */ bulkSwapPlan(request: Square.BulkSwapPlanRequest, requestOptions?: SubscriptionsClient.RequestOptions): core.HttpResponsePromise; private __bulkSwapPlan; /** * Searches for subscriptions. * * Results are ordered chronologically by subscription creation date. If * the request specifies more than one location ID, * the endpoint orders the result * by location ID, and then by creation date within each location. If no locations are given * in the query, all locations are searched. * * You can also optionally specify `customer_ids` to search by customer. * If left unset, all customers * associated with the specified locations are returned. * If the request specifies customer IDs, the endpoint orders results * first by location, within location by customer ID, and within * customer by subscription creation date. * * @param {Square.SearchSubscriptionsRequest} request * @param {SubscriptionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.subscriptions.search({ * query: { * filter: { * customerIds: ["CHFGVKYY8RSV93M5KCYTG4PN0G"], * locationIds: ["S8GWD5R9QB376"], * sourceNames: ["My App"] * } * } * }) */ search(request?: Square.SearchSubscriptionsRequest, requestOptions?: SubscriptionsClient.RequestOptions): core.HttpResponsePromise; private __search; /** * Retrieves a specific subscription. * * @param {Square.GetSubscriptionsRequest} request * @param {SubscriptionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.subscriptions.get({ * subscriptionId: "subscription_id", * include: "include" * }) */ get(request: Square.GetSubscriptionsRequest, requestOptions?: SubscriptionsClient.RequestOptions): core.HttpResponsePromise; private __get; /** * Updates a subscription by modifying or clearing `subscription` field values. * To clear a field, set its value to `null`. * * @param {Square.UpdateSubscriptionRequest} request * @param {SubscriptionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.subscriptions.update({ * subscriptionId: "subscription_id", * subscription: { * cardId: "{NEW CARD ID}" * } * }) */ update(request: Square.UpdateSubscriptionRequest, requestOptions?: SubscriptionsClient.RequestOptions): core.HttpResponsePromise; private __update; /** * Deletes a scheduled action for a subscription. * * @param {Square.DeleteActionSubscriptionsRequest} request * @param {SubscriptionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.subscriptions.deleteAction({ * subscriptionId: "subscription_id", * actionId: "action_id" * }) */ deleteAction(request: Square.DeleteActionSubscriptionsRequest, requestOptions?: SubscriptionsClient.RequestOptions): core.HttpResponsePromise; private __deleteAction; /** * Changes the [billing anchor date](https://developer.squareup.com/docs/subscriptions-api/subscription-billing#billing-dates) * for a subscription. * * @param {Square.ChangeBillingAnchorDateRequest} request * @param {SubscriptionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.subscriptions.changeBillingAnchorDate({ * subscriptionId: "subscription_id", * monthlyBillingAnchorDate: 1 * }) */ changeBillingAnchorDate(request: Square.ChangeBillingAnchorDateRequest, requestOptions?: SubscriptionsClient.RequestOptions): core.HttpResponsePromise; private __changeBillingAnchorDate; /** * Schedules a `CANCEL` action to cancel an active subscription. This * sets the `canceled_date` field to the end of the active billing period. After this date, * the subscription status changes from ACTIVE to CANCELED. * * @param {Square.CancelSubscriptionsRequest} request * @param {SubscriptionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.subscriptions.cancel({ * subscriptionId: "subscription_id" * }) */ cancel(request: Square.CancelSubscriptionsRequest, requestOptions?: SubscriptionsClient.RequestOptions): core.HttpResponsePromise; private __cancel; /** * Lists all [events](https://developer.squareup.com/docs/subscriptions-api/actions-events) for a specific subscription. * * @param {Square.ListEventsSubscriptionsRequest} request * @param {SubscriptionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.subscriptions.listEvents({ * subscriptionId: "subscription_id", * cursor: "cursor", * limit: 1 * }) */ listEvents(request: Square.ListEventsSubscriptionsRequest, requestOptions?: SubscriptionsClient.RequestOptions): Promise>; /** * Schedules a `PAUSE` action to pause an active subscription. * * @param {Square.PauseSubscriptionRequest} request * @param {SubscriptionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.subscriptions.pause({ * subscriptionId: "subscription_id" * }) */ pause(request: Square.PauseSubscriptionRequest, requestOptions?: SubscriptionsClient.RequestOptions): core.HttpResponsePromise; private __pause; /** * Schedules a `RESUME` action to resume a paused or a deactivated subscription. * * @param {Square.ResumeSubscriptionRequest} request * @param {SubscriptionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.subscriptions.resume({ * subscriptionId: "subscription_id" * }) */ resume(request: Square.ResumeSubscriptionRequest, requestOptions?: SubscriptionsClient.RequestOptions): core.HttpResponsePromise; private __resume; /** * Schedules a `SWAP_PLAN` action to swap a subscription plan variation in an existing subscription. * For more information, see [Swap Subscription Plan Variations](https://developer.squareup.com/docs/subscriptions-api/swap-plan-variations). * * @param {Square.SwapPlanRequest} request * @param {SubscriptionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.subscriptions.swapPlan({ * subscriptionId: "subscription_id", * newPlanVariationId: "FQ7CDXXWSLUJRPM3GFJSJGZ7", * phases: [{ * ordinal: BigInt("0"), * orderTemplateId: "uhhnjH9osVv3shUADwaC0b3hNxQZY" * }] * }) */ swapPlan(request: Square.SwapPlanRequest, requestOptions?: SubscriptionsClient.RequestOptions): core.HttpResponsePromise; private __swapPlan; }