import { ZegoExpressEngine } from "zego-express-engine-miniprogram";
import { ZegoUIKitListener, ZegoUIKitConfig, ZegoUIKitUser, ZegoUIKitScenario } from '../defines';
import InvitationService from './invitation/InvitationService';
export default class UIKitCore {
    static instance: UIKitCore;
    static getInstance(): UIKitCore;
    static get runtime(): any;
    express: ZegoExpressEngine;
    invitationService: InvitationService;
    localUser: ZegoUIKitUser;
    roomID: string;
    mode: ZegoUIKitScenario;
    userList: ZegoUIKitUser[];
    config: ZegoUIKitConfig;
    LISTENER_ID: string;
    private uikitListeners;
    private initEventHandler;
    init(appID: number, server: string, userID: string, userName: string, token: string, config: ZegoUIKitConfig): Promise<boolean>;
    unInit(): void;
    renewToken(token: string, roomID?: string): boolean;
    static createLivePusherContext(): any;
    static createLivePlayerContext(streamID: string): any;
    authCheck(): Promise<boolean>;
    joinRoom(roomID: string, token: string, user: ZegoUIKitUser, roomConfig: any): Promise<boolean>;
    private userJoin;
    updateUser(user: ZegoUIKitUser): void;
    private containsUser;
    private userLeave;
    isLocalUser(userID: string): boolean;
    getLocalUser(): ZegoUIKitUser | null;
    logoutRoom(): void;
    addUIKitListener(listenerID: string, listener: ZegoUIKitListener): void;
    removeUIKitListener(listenerID: string): void;
}
