import { ZIMAdapter } from "../../ZIMAdapter";
import { ZIMUserInfo, ZIMEventOfConnectionStateChangedResult } from "../../ZIMAdapter/index.entity";
import ZIMKitEventHandler from "./ZIMKitEventHandler";
export interface AppConfig {
    appID: number;
    serverSecret: string;
}
declare enum networkStatus {
    online = 1,
    offline = 0
}
export default class ZIMKitManager {
    static instance: ZIMKitManager;
    eventHandler: ZIMKitEventHandler;
    appConfig: AppConfig;
    userInfo: ZIMUserInfo;
    zim: ZIMAdapter;
    token: string;
    isInit: boolean;
    isLoggedIn: boolean;
    networkStatus: networkStatus;
    constructor();
    static getInstance(): ZIMKitManager;
    createZIM(appConfig: AppConfig): Promise<void>;
    loginWithUserInfo(userInfo: ZIMUserInfo, token: string): Promise<void>;
    updateUserAvatarUrl(userAvatarUrl: string): Promise<import("zego-zim-web").ZIMUserAvatarUrlUpdatedResult>;
    logout(): void;
    destroy(): void;
    uploadLog(): Promise<void>;
    registerConnectionStateChangedCallback(callback: (data: ZIMEventOfConnectionStateChangedResult) => void): void;
    private onEvent;
    private offEvent;
}
export {};
