import type { ConfigCtrlState } from '@debox-pro/chat-widget-core';
import type { DeBoxChat } from '@debox-pro/chat-widget-ui';
/**
 * Client
 */
export declare class Singleton {
    private static instance?;
    tag: DeBoxChat | null;
    config: ConfigCtrlState;
    static getInstance(): Singleton;
    initMain(config: ConfigCtrlState): void;
    init(config: ConfigCtrlState): Promise<void>;
    destroy(): void;
    setConversation(id?: string, open?: boolean): void;
    toggleChat(open?: boolean): void;
    private callbackFn?;
    addEventListener(callback: EventListenerOrEventListenerObject): void;
    removeEventListener(callback: EventListenerOrEventListenerObject): void;
    private observer?;
    private addToggleEvent;
    private removeToggleEvent;
    private addCloseEvent;
    private removeCloseEvent;
    private readonly onClose;
}
export declare const DeBoxChatWidget: Singleton;
