export interface InvoicingPaymentLinkSession { company_name: string; current_payment_method_type: string; customer_id: string; customer_name: string; email: string; logo_url: string; stripe_connected: boolean; invoice?: InvoicingInvoicePaymentSummary; purpose?: "invoice_payment" | "payment_method_setup"; } export interface InvoicingInvoicePaymentSummary { amount_due: number; currency_code: string; due_date: string; invoice_id: string; invoice_number: string; status: string; } export interface InvoicingInvoiceCheckoutSession { checkout_url: string; expires_at?: string; } export interface InvoicingPaymentLinkSetupIntent { client_secret: string; publishable_key: string; setup_intent_id: string; } export interface InvoicingPaymentLinkSaveResult { payment_method_last4: string; payment_method_type: string; bank_name?: string; } /** * Imperative portal API injected by the app shell. Every call hits the public * `/portal/payment-link/*` endpoints (in SKIP_PATHS server-side), carrying the * magic-link {namespace, token} bound by the connector. */ export interface InvoicingPaymentLinkPortal { checkoutSession: () => Promise; plaidLinkToken: () => Promise<{ link_token: string; }>; requestAccess: () => Promise<{ sent: boolean; }>; savePaymentMethod: (data: Record) => Promise; session: () => Promise; setupIntent: () => Promise; } export interface InvoicingPaymentLinkPageProps { portal: InvoicingPaymentLinkPortal; checkoutReturnState?: "cancel" | "success" | null; onCheckoutRedirect?: (checkoutUrl: string) => void; } export declare function InvoicingPaymentLinkPage({ checkoutReturnState, onCheckoutRedirect, portal, }: Readonly): import("react/jsx-runtime").JSX.Element; export default InvoicingPaymentLinkPage;