export type Discount = { type: "fixed" | "percentage"; amount: number; }; export type LineItem = { quantity: number; item: string; name?: string; price?: number; unit_price: number; total_price?: number; variant_combination?: Record; imageUrls?: string[]; }; export interface InvoiceParams { amount?: number; customer?: string; customer_email?: string; customer_name?: string; customer_phone?: string; discount?: Discount; notes?: string; line_items?: LineItem[]; due_date?: string; invoice_number?: string | number; callback_url?: string; return_url?: string; sub_account?: string; metadata?: Record; } export interface Invoice { type: "simple" | "professional"; status: "not-paid" | "paid" | "overdue"; customer: string; customer_email?: string; customer_name?: string; customer_phone?: string; currency: string; business_id: string; merchant_name: string; account_id: string; amount: number; discount?: Discount; sub_total?: number; total?: number; notes?: string; line_items?: LineItem[]; due_date?: string; reference?: string; metadata?: Record; invoice_number?: string | number; sent_date?: string; paid_date?: string; payment_link?: string; createdAt: string; updatedAt: string; test_mode: boolean; reminder_count: number; callback_url?: string; sub_account?: string; return_url?: string; }