import { CustomData } from "../CustomDataType";
import { RoomCall } from "../RoomCall";
import { RoomCallOptions } from "../options/RoomCallOptions";
import { CallsEventHandlers } from "../event/CallsEventHandlers";
import { CameraOrientation } from "../options/CameraOrientation";
import { CallStatus } from "../CallStatus";
import { VideoFilter } from "../options/filters/video/VideoFilter";
import { AudioFilter } from "../options/filters/audio/AudioFilter";
import { AnyCallsApiEvent } from "../event/CallsApiEvents";
import { LocalCapturer } from "../LocalCapturer";
import { ServerCapturer } from "../ServerCapturer";
import { InfobipRTC } from "../../InfobipRTC";
import { DataChannel } from "../DataChannel";
import { AudioQualityMode } from "../options/AudioQualityMode";
import { DisplayOptions } from "../options/DisplayOptions";
export declare class DefaultRoomCall implements RoomCall {
    private roomOptions;
    private roomName;
    private applicationCall;
    private apiEventEmitter;
    private roomJoinTime;
    private establishedEvent;
    private conferenceJoinedEvent;
    constructor(infobipRtc: InfobipRTC, roomOptions: RoomCallOptions, roomName: string);
    private mapOptions;
    name(): string;
    cameraOrientation(): CameraOrientation;
    cameraVideo(localVideo: boolean): Promise<void>;
    duration(): number;
    joinTime(): Date;
    leaveTime(): Date;
    leave(): void;
    hasCameraVideo(): boolean;
    hasScreenShare(): boolean;
    id(): string;
    muted(): boolean;
    on(name: AnyCallsApiEvent, handler: CallsEventHandlers.Any): void;
    options(): RoomCallOptions;
    customData(): CustomData;
    pauseIncomingVideo(): void;
    resumeIncomingVideo(): void;
    screenShare(screenShare: boolean): Promise<void>;
    startScreenShare(displayOptions?: DisplayOptions): Promise<void>;
    stopScreenShare(): Promise<void>;
    sendDTMF(dtmf: string): Promise<void>;
    audioFilter(): AudioFilter;
    setAudioFilter(audioFilter: AudioFilter): Promise<void>;
    clearAudioFilter(): Promise<void>;
    setAudioInputDevice(deviceId: string): Promise<void>;
    setCameraOrientation(cameraOrientation: CameraOrientation): Promise<void>;
    localCapturer(): LocalCapturer;
    serverCapturer(): ServerCapturer;
    dataChannel(): DataChannel;
    setAudioQualityMode(audioQualityMode: AudioQualityMode): void;
    audioQualityMode(): AudioQualityMode;
    videoFilter(): VideoFilter;
    setVideoFilter(videoFilter: VideoFilter): Promise<void>;
    clearVideoFilter(): Promise<void>;
    setVideoInputDevice(deviceId: string): Promise<void>;
    status(): CallStatus;
    mute(shouldMute: boolean): Promise<void>;
    private getDurationInSeconds;
    private emitRoomJoinedEvent;
    private initEventHandlers;
    private createRoomJoinedEvent;
}
