export {};
/**
 * @class
 * @name Call
 * @public
 * @description
 *      This class represents a Call. <br>
 */
declare class Call {
    status: any;
    id: any;
    conversationId: any;
    connectionId: any;
    type: any;
    isVm: any;
    contact: any;
    remoteMedia: any;
    localMedia: any;
    isEscalated: any;
    startDate: any;
    isInitiator: any;
    participants: any;
    isRemoteVideoMuted: any;
    isConference: any;
    avatars: any;
    currentCalled: any;
    vm: any;
    Status: any;
    Type: any;
    Media: any;
    deviceType: any;
    cause: any;
    deviceState: any;
    static Status: {
        DIALING: {
            value: string;
            key: number;
        };
        QUEUED_OUTGOING: {
            value: string;
            key: number;
        };
        ACTIVE: {
            value: string;
            key: number;
        };
        RELEASING: {
            value: string;
            key: number;
        };
        ANSWERING: {
            value: string;
            key: number;
        };
        PUT_ON_HOLD: {
            value: string;
            key: number;
        };
        CONNECTING: {
            value: string;
            key: number;
        };
        RINGING_OUTGOING: {
            value: string;
            key: number;
        };
        QUEUED_INCOMING: {
            value: string;
            key: number;
        };
        ERROR: {
            value: string;
            key: number;
        };
        UNKNOWN: {
            value: string;
            key: number;
        };
        HOLD: {
            value: string;
            key: number;
        };
        RINGING_INCOMING: {
            value: string;
            key: number;
        };
    };
    static Media: {
        SHARING: number;
        VIDEO: number;
        PHONE: number;
        AUDIO: number;
    };
    static Type: {
        PHONE: {
            value: string;
            key: number;
        };
        WEBRTC: {
            value: string;
            key: number;
        };
    };
    jid: undefined;
    phoneNumber: undefined;
    globalCallId: any;
    correlatorData: any;
    errorMessage: string;
    static create(status: any, id: any, type: any, contact: any, deviceType: any): Call;
    /**
     * @this Call
     */
    constructor(status: any, id: any, type: any, contact: any, deviceType: any);
    getCause(): any;
    setCause(value: any): void;
    getDeviceState(): any;
    setDeviceState(value: any): void;
    getDeviceType(): any;
    setDeviceType(value: any): void;
    setCallId(id: any): void;
    setConversationId(id: any): void;
    setConnectionId(connectionId: any): void;
    setStatus(status: any): void;
    setType(type: any): void;
    setIsVm(isVM: any): void;
    setContact(contact: any): void;
    setParticipants(participants: any): void;
    getGlobalCallId(): undefined;
    setGlobalCallId(value: undefined): void;
    getCurrentCalled(): any;
    setCurrentCalled(currentCalled: any): void;
    setCurrentCalledContactNumber(number: any): void;
    toString(): string;
    /*********************************************************/
    /**                  TELEPHONY STUFF                     */
    /*********************************************************/
    static getIdFromConnectionId(connectionId: any): string;
    static getDeviceIdFromConnectionId(connectionId: any): string;
    /**
     * @function
     * @public
     * @name updateCall
     * @description
     * This method is used to update a Call from data object
     */
    updateCall(data: any): Call;
    /**
     * @function
     * @public
     * @name CallFactory
     * @description
     * This method is used to create a Call from data object
     */
    static CallFactory(): (data: any) => Call;
}
export { Call };
