export type PayoutMethod = { account_name: string; account_number: string; network: "wave" | "afrimoney"; }; export type Destination = "modempay_balance" | "mobile_money"; export type MarkupConfig = { type: "fixed" | "percentage"; value: number; }; export interface CreateOffRampParams { gmd_amount?: number; pay_amount?: number; pay_currency?: "USDT" | "USDC"; network?: "TRC20" | "ARC"; test_mode?: boolean; destination?: Destination; payout_method?: PayoutMethod; markup_config?: MarkupConfig; callback_url?: string; } export interface CryptoRamp { id: string; business_id: string; account_id: string; direction: "on_ramp" | "off_ramp" | "quote"; gmd_amount: number; gmd_rate: number; fee: number; provider_fee: number; fee_currency: string; pay_amount: number; pay_currency: string; pay_address: string; network: string; actually_paid: number | null; provider_invoice_id: string | null; provider_payment_id: string | null; invoice_url: string | null; invoice_expires_at: string | null; status: "pending" | "underpaid" | "paid" | "overpaid" | "swept" | "expired" | "cancelled"; failure_reason: string | null; credit_transaction_id: string | null; quote_id: string | null; reference: string; test_mode: boolean; events: Record; metadata: Record; private_metadata: Record; fee_bearer: "business" | "customer"; destination: Destination; payout_method?: PayoutMethod | null; markup_share_usd: number; markup_config?: MarkupConfig | null; callback_url?: string | null; createdAt: string; updatedAt: string; }