import { ITUIComponents, ITUIPlugins } from './interface';

export default class TUIChatKit {
    static isInitialized: boolean;
    chat: any;
    SDKAppID: number;
    TUICore: any;
    TUIChatEngine: any;
    TUIGlobal: any;
    TUIComponents: ITUIComponents;
    TUIPlugins: ITUIPlugins;
    constructor();
    /**
     * Listen for the success notification of TUILogin.login
     */
    onNotifyEvent(eventName: string, subKey: string, params?: Record<string, any>): void;
    /**
     * init
     */
    init(): void;
    /**
     * login
     */
    login(): any;
    /**
     * Single component mounting
     *
     * @param {string} componentName
     * @param {any} component
     * @param {any=} env
     * @returns {TUICore} mounted instance
     */
    component(componentName: string, component: any, env?: any): any;
    /**
     * Component list mount
     *
     * @param {object} components
     * @param {any=} env: Vue2/Vue3 environment
     * @returns {TUICore} mounted instance
     */
    components(components: object, env?: any): any;
    /**
     * Plugin Injection
     *
     * @param {any} TUIPlugin
     * @param {any} options
     * @returns {TUICore} mounted instance
     */
    use(TUIPluginName: string, TUIPlugin: any, options?: any): any;
}
