import { ZegoCallInvitationType, ZegoUIKitPrebuiltCallConfig, ZegoUIKitPrebuiltCallInvitationEvents, ZegoCallInvitationRole, PrebuiltListener } from "../define";
import { ZegoUIKitUser } from "../../../zego_uikit/src";
export default class PrebuiltCallCore {
    static instance: PrebuiltCallCore;
    static getInstance(): PrebuiltCallCore;
    type: number;
    token: string;
    localUser: ZegoUIKitUser;
    defaultConfig: ZegoUIKitPrebuiltCallConfig;
    customConfig: ZegoUIKitPrebuiltCallConfig;
    config: ZegoUIKitPrebuiltCallConfig;
    invitationEvents?: ZegoUIKitPrebuiltCallInvitationEvents;
    LISTENER_ID: string;
    role: ZegoCallInvitationRole;
    callID: string;
    private prebuiltListeners;
    init(appID: number, server: string, userID: string, userName: string, token: string, config: ZegoUIKitPrebuiltCallConfig, invitationEvents: ZegoUIKitPrebuiltCallInvitationEvents): Promise<boolean | undefined>;
    unInit(): void;
    sendCallInvitation(params: {
        callees: ZegoUIKitUser[];
        callType: ZegoCallInvitationType;
        customData?: string;
        timeout?: number;
        roomID?: string;
    }): Promise<{
        code: number;
        callID: string;
        timeout: number;
        errorUserList: {
            userID: string;
            reason: number;
        }[];
        customData: string;
    }>;
    onInvitationSent(type: number, invitees: any[], customData?: string): void;
    joinRoom(callID: string, role?: ZegoCallInvitationRole): void;
    leaveRoom(): void;
    endInvitation(): void;
    onIncomingCallReceived(callID: string, caller: ZegoUIKitUser, type: number, callees: ZegoUIKitUser[], customData: string): void;
    onIncomingCallCanceled(callID: string, caller: ZegoUIKitUser, customData: string): void;
    onIncomingCallTimeout(callID: string, caller: ZegoUIKitUser): void;
    onIncomingCallAcceptButtonPressed(): void;
    onIncomingCallDeclineButtonPressed(): void;
    onOutgoingCallTimeout(callID: string, calleeID: string, customData?: string): void;
    onOutgoingCallAccepted(callID: string, calleeID: string): void;
    onOutgoingCallRejectedCauseBusy(callID: string, calleeID: string, customData?: string): void;
    onOutgoingCallDeclined(callID: string, calleeID: string): void;
    onOutgoingCallCancelButtonPressed(): void;
    onCallEnded(callID: string, roomID: string): void;
    addPrebuiltListener(listenerID: string, listener: PrebuiltListener): void;
    removePrebuiltListener(listenerID: string): void;
    static navigateTo(pagePath: string, eventName?: string, eventData?: any): void;
    static navigateBack(): void;
    static redirectTo(pagePath: string, eventName?: string, eventData?: any): void;
}
