import { WebrtcCallOptions } from "../options/WebrtcCallOptions";
import { DefaultCall } from "./DefaultCall";
import { Endpoint } from "../../util/Endpoint";
import { WebrtcCall } from "../WebrtcCall";
import { CameraOrientation } from "../options/CameraOrientation";
import { VideoFilter } from "../options/filters/video/VideoFilter";
import { LocalWebrtcCapturer } from "../LocalWebrtcCapturer";
import { ServerWebrtcCapturer } from "../ServerWebrtcCapturer";
import { DataChannel } from "../DataChannel";
import { DisplayOptions } from "../options/DisplayOptions";
export declare class DefaultWebrtcCall extends DefaultCall implements WebrtcCall {
    private isRemoteCameraVideo;
    private isRemoteScreenShare;
    private localWebrtcCapturer;
    private serverWebrtcCapturer;
    constructor(webrtcCallOptions: WebrtcCallOptions, sourceEndpoint: Endpoint, destinationEndpoint: Endpoint);
    pauseIncomingVideo(): void;
    resumeIncomingVideo(): void;
    cameraVideo(cameraVideo: boolean): Promise<void>;
    hasCameraVideo(): boolean;
    hasRemoteCameraVideo(): boolean;
    screenShare(screenShare: boolean): Promise<void>;
    startScreenShare(displayOptions?: DisplayOptions): Promise<void>;
    stopScreenShare(): Promise<void>;
    hasScreenShare(): boolean;
    hasRemoteScreenShare(): boolean;
    setVideoInputDevice(deviceId: string): Promise<void>;
    cameraOrientation(): CameraOrientation;
    setCameraOrientation(cameraOrientation: CameraOrientation): Promise<void>;
    options(): WebrtcCallOptions;
    videoFilter(): VideoFilter;
    setVideoFilter(videoFilter: VideoFilter): Promise<void>;
    clearVideoFilter(): Promise<void>;
    localCapturer(): LocalWebrtcCapturer;
    serverCapturer(): ServerWebrtcCapturer;
    dataChannel(): DataChannel;
    protected initEventHandlers(): void;
}
