/**
 * @file dh-realtime-human
 * @description 云渲染数字人sdk
 * @author zhangyue49
 */
import { DhRealtimeHumanType, ConnectDataType, CallbackMsgType, EffectsType, DestroyOptions } from './interface';
import { DHServerInterface, RenderCallback } from './Server';
export default class DhRealtimeHuman {
    private token;
    private appKey;
    private appId;
    private connectParams;
    private readonly onDigitalHumanCallback?;
    private dhServer;
    private rtcServer?;
    private rtcConnectParams;
    private cutoutInstance?;
    private hasInitChromaEffects;
    private readonly isHuawei;
    private rtcServerUrl;
    private rtcInternalIp;
    private recordController;
    private wsReadyState;
    private readonly isPreOpenSession;
    private readonly openWsOnly;
    private hasConnectUserFigureEffects;
    private _isMicMuted;
    private mergeConnectRtcExtras;
    private emitRawStatusMessage;
    private resolveMediaServerByDomain?;
    private remoteAutoPlay;
    constructor(props: DhRealtimeHumanType);
    canShowStaticFrameCover(): boolean;
    init(props: DhRealtimeHumanType): void;
    onDigitalHumanCallbackPlus: (data: CallbackMsgType) => void;
    onRemoteVideoComing: (id: number) => void;
    onLocalStream: () => void;
    onRemoteVideoOn: () => void;
    onRemoteVideoConnected: (id: number, connected: boolean) => void;
    onRemoteVideoOffLastFrame: () => void;
    connectListener: (data: ConnectDataType) => void;
    handleConnectResponse(data: ConnectDataType): Promise<void>;
    mergeConnectRtcExtrasFromBody(body: Record<string, any>): Promise<void>;
    applyConnectChroma(effects: EffectsType): Promise<void>;
    createServer: (sessionId?: string) => void;
    checkHumanInstansce: () => boolean;
    sendMessage: (message: DHServerInterface | ArrayBuffer, listener: RenderCallback | null) => Promise<void> | null;
    interrupt: () => Promise<void>;
    textRender: (renderData: {
        requestId: string;
        body: string;
        onCallbackMsg: RenderCallback;
    }) => void;
    textStreamRender: (renderData: {
        requestId?: string;
        body: string;
        onCallbackMsg: RenderCallback;
    }) => void;
    audioRender: (renderData: {
        body: string;
        onCallbackMsg: RenderCallback;
    }) => void;
    audioStreamRender: (renderData: {
        requestId?: string;
        body: string;
        onCallbackMsg: RenderCallback;
    }) => void;
    textQuery: (queryData: {
        requestId: string;
        body: string;
        onCallbackMsg: RenderCallback;
    }) => void;
    handleDestroyView: (keepLastFrame: boolean) => void;
    destroy: (options?: DestroyOptions) => Promise<void>;
    pauseHuman: () => void | Promise<void>;
    playHuman: () => void | Promise<void>;
    muteHuman: () => HTMLVideoElement;
    unMuteHuman: () => false | Promise<void> | undefined;
    startRecord(): void;
    stopRecord(): void;
    muteMicrophone(isMute: boolean): void;
}
