import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; import { type NormalizedClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as core from "../../../../core/index.js"; import * as Whop from "../../../index.js"; export declare namespace TransfersClient { type Options = BaseClientOptions; interface RequestOptions extends BaseRequestOptions { } } /** * A Transfer moves money between Whop balances: from one account or user to another, from an account's wallet to a person or address, or into a claim link anyone with the URL can redeem. * * Use the Transfers API to send money, find recipients you can pay, list and retrieve transfers when reconciling money movement, and preview or redeem claim links. * * Subscribe to `transfer.completed` and `transfer.failed` for outcomes instead of polling. Each participating account can subscribe to these events. `transfer.created` is also emitted on success, not when processing starts. A failed transfer can be retried under the same ID and later succeed; retrieve the transfer to reconcile its current status. * * A successful balance transfer credits the recipient's available balance unless a release date applies. Transfers funded from pending balance retain a release date and credit pending balance; applicable recipient reserves or fraud holds can keep funds unavailable. `succeeded` confirms the transfer completed, not that all funds are withdrawable. */ export declare class TransfersClient { protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options?: TransfersClient.Options); /** * Lists the transfers you can see, sent or received, newest first by default. Optional account filters narrow the results. * * @param {Whop.ListTransfersRequest} request * @param {TransfersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.transfers.list() */ list(request?: Whop.ListTransfersRequest, requestOptions?: TransfersClient.RequestOptions): Promise>; /** * Moves money between Whop balances or funds a claim link anyone with the URL can redeem. The `type` you send decides which object comes back. * * @param {Whop.CreateTransfersRequestBody} request * @param {TransfersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.ConflictError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.transfers.create({ * type: "balance", * amount: 25, * currency: "usd", * destination_id: "user_xxxxxxxxxxxxxx", * origin_id: "biz_xxxxxxxxxxxxxx" * }) */ create(request: Whop.CreateTransfersRequestBody, requestOptions?: TransfersClient.RequestOptions): core.HttpResponsePromise; private __create; /** * Lists the people and accounts you can send money to from a balance. Pass a result's ID as `destination_id` when creating a transfer. * * @param {Whop.ListRecipientsTransfersRequest} request * @param {TransfersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.transfers.listRecipients({ * origin_id: "origin_id" * }) */ listRecipients(request: Whop.ListRecipientsTransfersRequest, requestOptions?: TransfersClient.RequestOptions): Promise>; /** * Retrieves a single transfer. * * @param {Whop.RetrieveTransfersRequest} request * @param {TransfersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.NotFoundError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.transfers.retrieve({ * id: "id" * }) */ retrieve(request: Whop.RetrieveTransfersRequest, requestOptions?: TransfersClient.RequestOptions): core.HttpResponsePromise; private __retrieve; }