export type CallResponse = {
    call_id: string;
    sip_call_id: string;
    caller_id_name: string;
    caller_id_number: string;
    peer_caller_id_name: string;
    peer_caller_id_number: string;
    dialed_extension: string;
    status: string;
    is_caller: boolean;
    is_video?: boolean;
    line_id: number | null | undefined;
    creation_time: string;
    on_hold: boolean;
    muted: boolean;
    talking_to: Record<string, any>;
    record_state: string;
};
type CallArguments = {
    id: string;
    sipCallId: string;
    isCaller: boolean;
    isVideo?: boolean;
    callerName: string;
    callerNumber: string;
    calleeName: string;
    calleeNumber: string;
    dialedExtension: string;
    lineId: number | null | undefined;
    onHold: boolean;
    muted: boolean;
    status: string;
    startingTime: Date;
    talkingToIds: string[];
    recording: boolean;
};
export default class Call {
    type: string;
    id: string;
    sipCallId: string;
    callerName: string;
    callerNumber: string;
    calleeName: string;
    calleeNumber: string;
    dialedExtension: string;
    lineId: number | null | undefined;
    isCaller: boolean;
    isVideo: boolean;
    onHold: boolean;
    muted: boolean;
    status: string;
    startingTime: Date;
    talkingToIds: string[];
    recording: boolean;
    static parseMany(plain: Array<CallResponse>): Array<Call>;
    static parse(plain: CallResponse): Call;
    static newFrom(call: Call): any;
    constructor({ id, sipCallId, callerName, callerNumber, calleeName, calleeNumber, dialedExtension, isCaller, isVideo, lineId, muted, onHold, status, startingTime, talkingToIds, recording, }: CallArguments);
    getElapsedTimeInSeconds(): number;
    separateCalleeName(): {
        firstName: string;
        lastName: string;
    };
    is(other: Call | null | undefined): boolean;
    hasACalleeName(): boolean;
    hasNumber(number: string): boolean;
    isUp(): boolean;
    isDown(): boolean;
    isRinging(): boolean;
    isRingingIncoming(): boolean;
    isRingingOutgoing(): boolean;
    isFromTransfer(): boolean;
    isOnHold(): boolean;
    putOnHold(): void;
    resume(): void;
    isRecording(): boolean;
}
export {};
//# sourceMappingURL=Call.d.ts.map