import type * as Whop from "../index.js"; export interface Invoice { account_id: string; amount_due: Whop.Money; billing_address: Whop.PaymentAddress | null; buyer_fee_amount: Whop.Money; buyer_fee_percentage: number; /** A signed link that opens this invoice in a checkout session so the buyer can pay it: pass it as `link` to `POST /checkout_sessions`. Present while the invoice is open; null in any other status, for an invoice billed to a business buyer or whose membership was canceled, and when you lack `payment:charge`. */ checkout_link: string | null; created_at: string; customer_name: string | null; due_at: string | null; email_address: string | null; id: string; invoice_prefix: string | null; line_items: Whop.InvoiceLineItem[]; mailing_address_id: string | null; member_id: string | null; metadata: Record; number: string; object: Invoice.Object_; overdue: boolean; paid_at: string | null; payment_method_id: string | null; recipient_emails: string[]; /** When the invoice's saved payment method will be charged, as an ISO 8601 timestamp: the `charge_at` it was sent or issued with, or `due_at` when an invoice with a `payment_method_id` is sent or issued before it is due without one. On a draft, the `charge_at` of its scheduled send. `null` otherwise, once the charge starts, and once the invoice is paid, void, or uncollectible. */ scheduled_charge_at: string | null; scheduled_send_at: string | null; status: Invoice.Status; subtotal: Whop.Money; tax_amount: Whop.Money | null; total: Whop.Money; totals_status: Invoice.TotalsStatus; updated_at: string; } export declare namespace Invoice { const Object_: { readonly Invoice: "invoice"; }; type Object_ = (typeof Object_)[keyof typeof Object_]; const Status: { readonly Draft: "draft"; readonly Open: "open"; readonly Authorized: "authorized"; readonly Paid: "paid"; readonly Pending: "pending"; readonly Uncollectible: "uncollectible"; readonly Unresolved: "unresolved"; readonly Void: "void"; }; type Status = (typeof Status)[keyof typeof Status]; const TotalsStatus: { readonly Estimated: "estimated"; readonly Final: "final"; }; type TotalsStatus = (typeof TotalsStatus)[keyof typeof TotalsStatus]; }