import { Call } from "../Call";
import { Endpoint } from "../../util/Endpoint";
import { CallOptions } from "../options/CallOptions";
import { CallStatus } from "../CallStatus";
import { ApiEventEmitter } from "../../util/ApiEventEmitter";
import { AudioFilter } from "../options/filters/audio/AudioFilter";
import { AnyCallsApiEvent } from "../event/CallsApiEvents";
import { CallsEventHandlers } from "../event/CallsEventHandlers";
import { ApplicationCall } from "../ApplicationCall";
import { CustomData } from "../CustomDataType";
import { AudioQualityMode } from "../options/AudioQualityMode";
export declare class DefaultCall implements Call {
    protected basicCallOptions: CallOptions;
    protected sourceEndpoint: Endpoint;
    protected destinationEndpoint: Endpoint;
    protected apiEventEmitter: ApiEventEmitter;
    protected applicationCall: ApplicationCall;
    constructor(basicCallOptions: CallOptions, sourceEndpoint: Endpoint, destinationEndpoint: Endpoint);
    on(name: AnyCallsApiEvent, handler: CallsEventHandlers.Any): void;
    id(): string;
    options(): CallOptions;
    customData(): CustomData;
    duration(): number;
    status(): CallStatus;
    startTime(): Date;
    establishTime(): Date;
    endTime(): Date;
    mute(shouldMute: boolean): Promise<void>;
    muted(): boolean;
    sendDTMF(dtmf: string): Promise<void>;
    setAudioInputDevice(deviceId: string): Promise<void>;
    audioFilter(): AudioFilter;
    setAudioFilter(audioFilter: AudioFilter): Promise<void>;
    clearAudioFilter(): Promise<void>;
    counterpart(): Endpoint;
    source(): Endpoint;
    destination(): Endpoint;
    setAudioQualityMode(audioQualityMode: AudioQualityMode): void;
    audioQualityMode(): AudioQualityMode;
    hangup(): void;
}
