import React from 'react';
export interface Payment {
    id: string;
    amount: number;
    description: string;
    invoice: string;
    status: 'pending' | 'completed' | 'failed' | 'expired';
    metadata?: Record<string, any>;
}
export interface NakaPayButtonProps {
    amount: number;
    description: string;
    metadata?: Record<string, any>;
    apiEndpoint?: string;
    text?: string;
    className?: string;
    style?: React.CSSProperties;
    disabled?: boolean;
    onPaymentCreated?: (payment: Payment) => void;
    onPaymentSuccess?: (payment: Payment) => void;
    onPaymentError?: (error: Error) => void;
    webhookUrl?: string;
    useWebhooks?: boolean;
    useSSE?: boolean;
    useAbly?: boolean;
    ablyApiKey?: string;
    ablyAuthUrl?: string;
    ablyAuthMethod?: 'GET' | 'POST';
    ablyAuthHeaders?: Record<string, string>;
    ablyAuthParams?: Record<string, any>;
    pollInterval?: number;
    statusEndpoint?: string;
}
export declare const NakaPayButton: React.FC<NakaPayButtonProps>;
