import { ITUICallService, ICallParams, IGroupCallParams, ICallbackParam, ISelfInfoParams, IInviteUserParams, IJoinInGroupCallParams, IInitParams, ICallsParams } from '../interface/ICallService';
import { LOG_LEVEL, VideoDisplayMode, VideoResolution, FeatureButton, LayoutMode } from '../const/index';
import { ITUIGlobal, ITUIStore } from '../interface/index';
declare const TUIGlobal: ITUIGlobal;
declare const TUIStore: ITUIStore;
declare const uiDesign: import("./UIDesign").IUIDesign;
export { TUIGlobal, TUIStore, uiDesign };
export default class TUICallService implements ITUICallService {
    static instance: TUICallService;
    _tuiCallEngine: any;
    private _tim;
    private _TUICore;
    private _timerId;
    private _startTimeStamp;
    private _bellContext;
    private _isFromChat;
    private _currentGroupId;
    private _preDevicePermission;
    private _offlinePushInfo;
    private _permissionCheckTimer;
    private _chatCombine;
    private _engineEventHandler;
    constructor();
    static getInstance(): TUICallService;
    init(params: IInitParams): Promise<void>;
    destroyed(): Promise<void>;
    call(callParams: ICallParams): Promise<void>;
    groupCall(groupCallParams: IGroupCallParams): Promise<void>;
    inviteUser(params: IInviteUserParams): Promise<void>;
    joinInGroupCall(params: IJoinInGroupCallParams): Promise<void>;
    calls(callsParams: ICallsParams): Promise<void>;
    join(params: any): Promise<void>;
    getTUICallEngineInstance(): any;
    setLogLevel(level: LOG_LEVEL): void;
    setLanguage(language: string): void;
    enableFloatWindow(enable: boolean): void;
    setSelfInfo(params: ISelfInfoParams): Promise<void>;
    enableVirtualBackground(enable: boolean): Promise<void>;
    enableAIVoice(enable: boolean): Promise<void>;
    setCallingBell(filePath?: string): Promise<void>;
    enableMuteMode(enable: boolean): Promise<void>;
    hideFeatureButton(buttonName: FeatureButton): void;
    setLocalViewBackgroundImage(url: string): void;
    setRemoteViewBackgroundImage(userId: string, url: string): void;
    setLayoutMode(layoutMode: LayoutMode): void;
    setCameraDefaultState(isOpen: boolean): void;
    callExperimentalAPI(jsonStr: string): void;
    accept(): Promise<void>;
    hangup(): Promise<void>;
    reject(): Promise<void>;
    openCamera(videoViewDomID: string): Promise<void>;
    closeCamera(): Promise<void>;
    openMicrophone(): Promise<void>;
    closeMicrophone(): Promise<void>;
    unMuteSpeaker(): void;
    muteSpeaker(): void;
    switchScreen(userId: string): void;
    switchCallMediaType(): Promise<void>;
    switchCamera(): Promise<void>;
    setSoundMode(type?: string): void;
    setBlurBackground(enable: boolean): Promise<void>;
    switchDevice(params: any): Promise<void>;
    getDeviceList(deviceType: string): Promise<any>;
    private _addListenTuiCallEngineEvent;
    private _removeListenTuiCallEngineEvent;
    beforeCalling: ((...args: any[]) => void) | undefined;
    afterCalling: ((...args: any[]) => void) | undefined;
    onMinimized: ((...args: any[]) => void) | undefined;
    onMessageSentByMe: ((...args: any[]) => void) | undefined;
    kickedOut: ((...args: any[]) => void) | undefined;
    statusChanged: ((...args: any[]) => void) | undefined;
    setCallback(params: ICallbackParam): void;
    toggleMinimize(): void;
    executeExternalBeforeCalling(): void;
    executeExternalAfterCalling(): void;
    handleExceptionExit(): Promise<void>;
    handlePusherError(event: any): void;
    setVideoDisplayMode(displayMode: VideoDisplayMode): void;
    setVideoResolution(resolution: VideoResolution): Promise<void>;
    startTimer(): void;
    private _handleCallError;
    private _updateCallStoreBeforeCall;
    private _updateCallStoreAfterCall;
    private _getFeatureButtonDefaultState;
    private _updateCallDuration;
    private _stopTimer;
    private _resetCallStore;
    getGroupMemberList(count: number, offset: number): Promise<any>;
    getGroupProfile(): Promise<any>;
    private _handleCallStatusChange;
    private _watchTUIStore;
    private _unwatchTUIStore;
    bindTUICore(TUICore: any): void;
    getTim(): any;
    setIsFromChat(isFromChat: boolean): void;
    setCurrentGroupId(groupId: string): void;
    getCurrentGroupId(): string;
    setDefaultOfflinePushInfo(offlinePushInfo: any): void;
    getDefaultOfflinePushInfo(): any;
    getCallMessage(message: any): Promise<any>;
}
