export interface PMTGatewayConfig { publicKey: string; apiUrl?: string; environment?: 'test' | 'live'; debug?: boolean; } export interface PaymentIntent { id: string; amount: number; currency: string; crypto_amount: string; crypto_currency: string; status: PaymentStatus; wallet_address?: string; transaction_hash?: string; expires_at: string; metadata?: Record; created_at: string; } export type PaymentStatus = 'REQUIRES_PAYMENT' | 'PROCESSING' | 'SUCCEEDED' | 'FAILED' | 'CANCELED' | 'EXPIRED'; export interface CreatePaymentIntentRequest { amount: number; currency: string; crypto_currency?: 'dot' | 'dot-stablecoin'; metadata?: Record; } export interface WalletConnection { address: string; source: string; name?: string; version?: string; } export interface WalletAuthChallenge { message: string; nonce: string; timestamp: number; } export interface SupportedWallet { id: string; name: string; icon: string; downloadUrl: string; } export interface PaymentEvent { type: 'payment.succeeded' | 'payment.failed' | 'payment.canceled' | 'payment.expired' | 'payment.processing'; paymentIntent: PaymentIntent; } export type PaymentEventHandler = (event: PaymentEvent) => void; export interface PaymentWidgetConfig { container: string | HTMLElement; paymentIntent: string | PaymentIntent; onSuccess?: PaymentEventHandler; onError?: (error: Error) => void; onCancel?: () => void; theme?: PaymentWidgetTheme; locale?: string; } export interface PaymentWidgetTheme { primaryColor?: string; secondaryColor?: string; backgroundColor?: string; textColor?: string; borderRadius?: string; fontFamily?: string; } export interface ApiResponse { success: boolean; data?: T; error?: { code: string; message: string; details?: Record; }; meta?: { timestamp: string; request_id: string; }; } export declare class PMTGatewayError extends Error { code: string; details?: Record; constructor(message: string, code: string, details?: Record); } export interface WidgetState { isLoading: boolean; isConnected: boolean; currentStep: 'select-wallet' | 'connect-wallet' | 'confirm-payment' | 'processing' | 'success' | 'error'; error?: string; paymentIntent?: PaymentIntent; walletConnection?: WalletConnection; } //# sourceMappingURL=index.d.ts.map