import eventWorker from "./eventWorker";
interface WidgetOptions {
    [key: string]: any;
    isPersistent?: boolean;
    stream?: boolean;
    width?: string;
}
export interface Config {
    appName: string;
    environment?: 'sandbox' | 'production' | 'development';
    widgetOptions?: WidgetOptions;
    containerId?: string;
    onBluethoothConnected?: (data: any) => void;
    onSuccess?: (data: any) => void;
    onFail?: (data: any) => void;
    onError?: (error: any) => void;
    onLoad?: () => void;
}
interface Message {
    type: string;
    data: any;
    message?: any;
}
interface MountOptions {
    email?: string;
    amount?: number;
    containerId?: string;
}
declare class BankboxManager {
    private appName;
    private environment?;
    private widgetOptions?;
    private containerId;
    private iframe;
    private container;
    private messageHandlers;
    private targetOrigin;
    $event: typeof eventWorker;
    isInitialized: boolean;
    private config;
    private windowSize;
    private paymentOption;
    isBluethoothConnected: boolean;
    constants: {
        success: string;
        fail: string;
        error: string;
        event_hook: string;
        style_config: string;
        load: string;
        sdkOpen: string;
        bluethoothConnected: string;
        sdkPaymentData: string;
        systemReady: string;
        sdkClose: string;
    };
    constructor(config: Config);
    private getTargetOrigin;
    private registerCoreListeners;
    private injectAnimationStyle;
    private initWindowResizeListener;
    private initializeListeners;
    private initializeIframe;
    private reinjectOverlay;
    mount(options?: MountOptions): void;
    open(options?: MountOptions): {
        isBluethoothConnected: boolean;
    };
    initPayment(options?: MountOptions): void;
    close(): void;
    private handleBluethoothConnected;
    private handleIncomingMessage;
    private handleBankboxReady;
    sendMessage(message: Message): void;
    destroy(): void;
}
export default BankboxManager;
//# sourceMappingURL=manager.d.ts.map