/**
 * PayOS Wallet Onboard JavaScript SDK
 * Main entry point that provides all functionality with different usage patterns
 */
import PayOSWalletOnboard, { PayOSWalletOnboardOptions, OnCloseData } from "./PayOSWalletOnboard";
interface SimpleOptions {
    token: string;
    containerId?: string;
    environment?: "sandbox" | "production";
    merchantName?: string;
    customBaseUrl?: string;
    onSuccess?: (walletUserId?: string) => void;
    onClose?: () => void;
    onError?: (error: Error) => void;
}
export interface PayOSWalletOnboardInstance {
    mount: () => void;
    unmount: () => void;
}
/**
 * Initialize PayOS Wallet Onboard with either a token or full options
 * Supports multiple usage patterns:
 *
 * 1. Simple: init('token')
 * 2. With options: init({ token: 'token', ...options })
 * 3. Full SDK: init('#container', { token: 'token', ...options })
 */
declare function init(tokenOrOptionsOrContainer: string | SimpleOptions | HTMLElement, options?: SimpleOptions | PayOSWalletOnboardOptions): PayOSWalletOnboardInstance;
declare const PayOSWalletOnboardSDK: {
    init: typeof init;
    PayOSWalletOnboard: typeof PayOSWalletOnboard;
};
export default PayOSWalletOnboardSDK;
export { PayOSWalletOnboard, PayOSWalletOnboardOptions, };
export type { OnCloseData };
