import type * as Whop from "../index.js"; export interface SetupStatus { /** The setup this status describes, prefixed `sint_`. */ id: string; /** Why the setup ended where it did, or `null` when nothing has failed. Present on `canceled` — a buyer who abandoned carries no code, one refused by the provider does. */ last_setup_error: Whop.SetupLastSetupError | null; /** What the buyer must do next while `status` is `requires_action`, otherwise `null`. `type` picks the shape and each variant carries only its own `data`, so switching on `type` gives you exactly that step's payload. */ next_action: Whop.PaymentNextAction | null; /** Always `setup_status`. */ object: string; /** Where to send the buyer once the setup reaches a resting state, or `null` to leave them where they are. */ return_url: string | null; /** How far the setup has got. **A 200 means we answered, not that the method was saved — always branch on this.** `requires_action` — the buyer has a step outstanding; see `next_action`. `processing` — the buyer has done their part and the processor is deciding. `succeeded` — the payment method is saved, and only this one means saved. `canceled` — abandoned or refused; see `last_setup_error` to tell which. */ status: SetupStatus.Status; } export declare namespace SetupStatus { /** How far the setup has got. **A 200 means we answered, not that the method was saved — always branch on this.** `requires_action` — the buyer has a step outstanding; see `next_action`. `processing` — the buyer has done their part and the processor is deciding. `succeeded` — the payment method is saved, and only this one means saved. `canceled` — abandoned or refused; see `last_setup_error` to tell which. */ const Status: { readonly Processing: "processing"; readonly Succeeded: "succeeded"; readonly Canceled: "canceled"; readonly RequiresAction: "requires_action"; }; type Status = (typeof Status)[keyof typeof Status]; }