import type * as Whop from "../index.mjs"; export interface DomainRegistration { /** What the domain owes now. `null` when nothing is owed. */ amount_due: Whop.Money | null; /** Whether Whop charges the saved payment method to renew the domain before it expires. */ auto_renew: boolean; /** When the registration expires unless renewed, as an ISO 8601 timestamp. `null` until it's registered. */ expires_at: string | null; /** How the domain came to Whop: `registration` when it was bought through Whop, `transfer` when it was moved from another registrar. */ method: DomainRegistration.Method; /** ID of the saved card charged for the domain, prefixed `payt_`. `null` when none is set. */ payment_method_id: string | null; /** Where the registration is: awaiting payment, ordering at the registrar, transferring from another registrar, delegating DNS to Whop, held, expired, or releasing. */ phase: DomainRegistration.Phase; /** Link to pay what the domain owes now: its registration or transfer, or a yearly renewal. `null` when nothing is owed. */ purchase_url: string | null; /** What each yearly renewal costs at the registrar's current price. Set when the response is a single domain; `null` in lists, while the domain is being released, or when the price can't be read right now. */ renewal_price: Whop.Money | null; /** How far registering and keeping the domain has got. */ state: DomainRegistration.State; } export declare namespace DomainRegistration { /** How the domain came to Whop: `registration` when it was bought through Whop, `transfer` when it was moved from another registrar. */ const Method: { readonly Registration: "registration"; readonly Transfer: "transfer"; }; type Method = (typeof Method)[keyof typeof Method]; /** Where the registration is: awaiting payment, ordering at the registrar, transferring from another registrar, delegating DNS to Whop, held, expired, or releasing. */ const Phase: { readonly AwaitingPayment: "awaiting_payment"; readonly Ordering: "ordering"; readonly Transferring: "transferring"; readonly Delegating: "delegating"; readonly Held: "held"; readonly Expired: "expired"; readonly Failed: "failed"; readonly Releasing: "releasing"; }; type Phase = (typeof Phase)[keyof typeof Phase]; /** How far registering and keeping the domain has got. */ const State: { readonly Pending: "pending"; readonly Ready: "ready"; readonly ActionRequired: "action_required"; readonly Releasing: "releasing"; }; type State = (typeof State)[keyof typeof State]; }