export {};
/*************************************************************/
/*************************************************************/
/**
 * Type of Admin.
 * @public
 * @enum {string}
 * @readonly
 */
declare const AdminType: {
    /** Organization administrator */
    ORGANIZATION_ADMIN: string;
    /** Company administrator */
    COMPANY_ADMIN: string;
    /** Site administrator */
    SITE_ADMIN: string;
    /** No administrator right */
    UNDEFINED: string;
};
/**
 * NameUpdatePrio
 * @public
 * @enum {number}
 * @readonly
 */
declare const NameUpdatePrio: {
    /** no update prio then could be updated */
    NO_UPDATE_PRIO: number;
    /** prio associated to outlook name resolution update */
    OUTLOOK_UPDATE_PRIO: number;
    /** prio associated to server name resolution (phonebook or office365AD ...) update */
    SERVER_UPDATE_PRIO: number;
    /** max prio : no update could overwrite */
    MAX_UPDATE_PRIO: number;
};
/**
 * @class
 * @name Contact
 * @public
 * @description
 *      This class is used to represent a contact or the connected user <br>
 *      A contact is defined by a set of public information (name, firstName, avatar...) and a set of private information that are only shared with contacts that are in the user's network or in the same company (email, phone numbers...)
 */
declare class Contact {
    id: any;
    _displayName: any;
    name: any;
    displayNameMD5: any;
    companyName: any;
    loginEmail: any;
    nickName: any;
    title: any;
    jobTitle: any;
    country: any;
    timezone: any;
    organisationId: any;
    siteId: any;
    companyId: any;
    jid_im: any;
    jid: any;
    jid_tel: any;
    jidtel: any;
    avatar: any;
    lastAvatarUpdateDate: any;
    lastUpdateDate: any;
    adminType: any;
    roles: any;
    phoneNumbers: any;
    phonePro: any;
    phoneProCan: any;
    phonePbx: any;
    phoneInternalNumber: any;
    pbxId: any;
    mobilePro: any;
    mobileProCan: any;
    phonePerso: any;
    phonePersoCan: any;
    mobilePerso: any;
    mobilePersoCan: any;
    voicemailNumber: any;
    emails: any;
    emailPro: any;
    emailPerso: any;
    lastName: any;
    firstName: any;
    isTerminated: any;
    language: any;
    presence: string;
    status: any;
    resources: any;
    nameUpdatePrio: any;
    initials: any;
    nickname: any;
    roster: any;
    initialized: any;
    colorIndex: any;
    color: any;
    _id: any;
    isInDefaultCompany: boolean;
    company: any;
    hasPhoneNumber: any;
    guestMode: any;
    openInviteId: any;
    userInfo1: null;
    userInfo2: null;
    ask: string;
    subscription: string;
    temp: boolean;
    invitation: any;
    selectedTheme: string;
    customData: any;
    isVirtualTerm: boolean;
    tags: Array<string>;
    private _lastContactCacheUpdate;
    isActive: boolean;
    accountType: string;
    systemId: string;
    isInitialized: boolean;
    initializationDate: string;
    createdBySelfRegister: boolean;
    createdByAdmin: any;
    createdByAppId: string;
    firstLoginDate: string;
    lastLoginDate: string;
    loggedSince: string;
    failedLoginAttempts: number;
    lastLoginFailureDate: string;
    lastExpiredTokenRenewedDate: string;
    lastPasswordUpdateDate: string;
    timeToLive: number;
    timeToLiveDate: string;
    terminatedDate: string;
    fileSharingCustomisation: string;
    userTitleNameCustomisation: string;
    softphoneOnlyCustomisation: string;
    useRoomCustomisation: string;
    phoneMeetingCustomisation: string;
    useChannelCustomisation: string;
    useScreenSharingCustomisation: string;
    useWebRTCAudioCustomisation: string;
    useWebRTCVideoCustomisation: string;
    instantMessagesCustomisation: string;
    userProfileCustomisation: string;
    fileStorageCustomisation: string;
    overridePresenceCustomisation: string;
    changeTelephonyCustomisation: string;
    changeSettingsCustomisation: string;
    recordingConversationCustomisation: string;
    useGifCustomisation: string;
    useDialOutCustomisation: string;
    fileCopyCustomisation: string;
    fileTransferCustomisation: string;
    forbidFileOwnerChangeCustomisation: string;
    readReceiptsCustomisation: string;
    useSpeakingTimeStatistics: string;
    selectedAppCustomisationTemplate: string;
    alertNotificationReception: string;
    selectedDeviceFirmware: string;
    visibility: string;
    jid_password: string;
    creationDate: string;
    profiles: Array<any>;
    activationDate: string;
    lastOfflineMailReceivedDate: string;
    state: string;
    authenticationType: string;
    department: string;
    isADSearchAvailable: boolean;
    isTv: boolean;
    calendars: Array<any>;
    openInvites: any;
    isAlertNotificationEnabled: boolean;
    outOfOffice: any;
    lastSeenDate: string;
    eLearningCustomisation: string;
    eLearningGamificationCustomisation: string;
    useRoomAsRBVoiceUser: string;
    useWebRTCAudioAsRBVoiceUser: string;
    msTeamsPresence: any;
    useWebRTCOnlyIfMobileLoggedCustomisation: string;
    meetingRecordingCustomisation: string;
    useOtherPhoneMode: string;
    useComputerMode: string;
    useSoftPhoneMode: string;
    imPopupDuration: number;
    canAccessWhatsNew: string;
    canAccessFaqCustomisation: string;
    canAccessHelpCenterCustomisation: string;
    canAccessStoreCustomisation: string;
    canDownloadAppCustomisation: string;
    canCallParticipantPbxNumberCustomisation: string;
    useExternalStorage: string;
    useRainbowStorage: string;
    mainStorage: string;
    nextRosterAutoCleanup: string;
    mfaRainbowAuth: any;
    searchTagsOnly: Array<string>;
    canSetInvisiblePresenceCustomisation: string;
    canUseSendReportCustomisation: string;
    canUseTaskCustomisation: string;
    canUseTestConfigCustomisation: string;
    useTeamsMode: boolean;
    selectedProgKeysGroupId: string;
    companyNameOfGuest: string;
    constructor();
    updateLastContactCacheUpdate(): void;
    isObsoleteCache(): boolean;
    /**
     * @public
     * @readonly
     * @property {string} displayName The display name of the Contact
     * @instance
     */
    set displayName(value: any);
    get displayName(): any;
    setNameUpdatePrio(prio: any): void;
    getNameUpdatePrio(): any;
    displayNameForLog(): any;
    computeCompleteDisplayName(firstName: any, lastName: any): void;
    computeDisplayName(): void;
    updateName(firstName: any, lastName: any): void;
    /**
     * @description
     *      This method gets an array with only one element at position 0. This is to get the property by ref and set a value to it.
     * @param {Array<any>} propertyTab
     * @param value
     */
    updateFromUserData(userData: any): void;
    checkPropertiesName(obj: any): void;
    isGuest(): any;
}
export { Contact as Contact, AdminType as AdminType, NameUpdatePrio as NameUpdatePrio };
