import { Theme } from '../models/common/theme'; /** * Interface that represents the licensing status of a Rainbow Edge. * * @public */ export interface IEdgeStatus { /** * Edge status. * * @readonly */ readonly status: 'init' | 'active' | 'warning' | 'error'; /** * Edge MAC address. * * @readonly */ readonly macAdress: string; /** * Edge uuid. * * @readonly */ readonly uuid: string; /** * Edge activation date. */ readonly activationDate: string; } /** * Interface that represents the information related to a company. * Depending on contact type, by 'company' we mean * - For a rainbow user, the name of the company to which he belong. * In this case, the company is a entity managed by administrator(s) * - For a personal or business directory contact, the name of a company indicated for information purposes. * - For a O365 contact owned by a rainbow user, the name of the company to which the user belong. * Depending on the type of contact, not all properties may be present. */ export interface CompanyInfo { /** * The company unique identifier. * Information only available only for a rainbow user. * @readonly * @internal */ id?: string; /** * The company name. * @readonly */ name: string; /** * The company slogan. * @readonly */ slogan?: string; logo?: string; lastAvatarUpdateDate?: any; companyFeatures?: any; } /** * @internal * List of modes that specify how activation of O365 calendar and teams presence synchronization are handled for company's users. * Available only for the connected user and when Office365 is configured on admin side. */ export declare enum Office365AdminMode { /** * The user should grant authorization and activate synchronization to their calendar and teams presence by himself. */ USER_CONSENT = "user_consent", /** * Admin has granted authorization but let all users to activate synchronization to their calendar and teams presence. */ ADMIN_CONSENT = "admin_consent", /** * Admin has granted authorization but all users are triggered each day to activate synchronization * to their calendar and teams presence. */ USER_DELEGATED = "user_delegated", /** * Admin has granted authorization and subcribe all users limited to 650 * in order to synchronize them to calendar and teams presence. * * @remarks Only allowed if {@link Company.isOffice365AdminDelegatedModeAuthorized} is true */ ADMIN_DELEGATED = "admin_delegated", /** * Admin has granted authorization and subcribe all users in order to synchronize them to calendar. * Only Rainbow presence is synchornized to teams. */ APPLICATION = "application" } /** * This class is used to represent a company in Rainbow. * A company is a set of Rainbow users grouped in that entity. * A company is managed by one or several administrators. * A company can be visible by users that are not inside this company of not. */ export declare class Company { /** * Value can be:
* - 'initializing': When the company is initializing,
* - 'active': When the company is active,
* - 'terminated': When the company is closed */ static StatusValues: string[]; /** * Value can be: * - 'private': When the users of this company are not visible from an external user,
* - 'organization': When the users of this company are only visible from an extenal user of the same organization,
* - 'public': When the users of this company are visible from an external user */ static VisibilityValuesWithOrganization: string[]; static VisibilityValues: string[]; /** * Value can be: * - 'noAnalytics' * - 'companyLevel' * - 'conversationLevel' */ static PrivacyValues: string[]; static AnonymizationLevels: string[]; /** * Value can be: * - 'self-employed': For a single person company, * - '1-10 employees': For a company with 1 to 10 employees, * - "51-200 employees": For a company with 51 to 200 employees, * - "201-500 employees": For a company with 201 to 500 employees, * - "501-1000 employees": For a company with 501 to 1000 employees, * - "1001-5000 employees": For a company with 1001 to 5000 employees, * - "5001-10,000 employees": For a company with 5001 to 10,000 employees, * - "10,001+ employees": For a company with more than 10000 employees */ static SizeValues: { "self-employed": string; "1-10 employees": string; "11-50 employees": string; "51-200 employees": string; "201-500 employees": string; "501-1000 employees": string; "1001-5000 employees": string; "5001-10,000 employees": string; "10,001+ employees": string; }; static OfferTypes: string[]; /** * Value can be:
* - 'VAD': For Business Partner who is a Value Added Distributor,
* - 'DR': For Business Partner who is a Direct Reseller,
* - 'IR': For Business Partner who is an Indirect Reseller */ static BPTypes: string[]; static BPTypeLabels: { IR: string; VAD: string; DR: string; }; static BPBusinessModels: string[]; static BPBusinessModelLabels: { resell: string; referral: string; }; /** * Value can be: * - 'all': Admin of this company is allowed to downgrade and upgrade the number of all subscriptions (default), * - 'increase_only': Admin of this company is only allowed to increase the number of all subscriptions, * - 'monthly': Admin of this company is downgrade and upgrade the number of monthly subscriptions only (ie. not prepaid). */ static adminAllowedUpdateSubscriptionsOperations: string[]; static BPBusinessTypes: { DEFAULT: string; VOICE_BY_ALE: string; VOICE_BY_PARTNER: string; CONFERENCE: string; RAINBOW_EDGE: string; }; static EconomicActivityClassificationTypes: { /** Not defined */ NONE: string; /** Agriculture based activity */ A: string; /** Mining based activity */ B: string; /** Manifacturing based activity */ C: string; /** Electricity based activity */ D: string; /** Water supply based activity */ E: string; /** Construction based activity */ F: string; /** Wholesale based activity */ G: string; /** Transportation based activity */ H: string; /** Accomodation based activity */ I: string; /** Information and communication based activity */ J: string; /** Financial based activity */ K: string; /** Real estate based activity */ L: string; /** Professional based activity */ M: string; /** Administrative based activity */ N: string; /** Public administration based activity */ O: string; /** Education based activity */ P: string; /** Human health based activity */ Q: string; /** Arts based activity */ R: string; /** Other service based activity */ S: string; /** Activities of households as employer based activity */ T: string; /** Activities of extraterritorial organisations and bodies based activity */ U: string; }; /** * Rainbow application customisation */ private static userProfileAttributes; private static attributes; /** * @param id - Id of the company * @param name - Name of the company * @returns the created company */ static create(id: string, name: string): Company; /** * @param data - The object containing the attributes of the company * @returns the created company */ static createFromData(data: any): Company; /** * Returns a copy of the company's data but expurgated by the unwanted and undefined optional properties. * * @param data - The object containing the attributes of the company * @param userContact - The logged user * @returns the updated company */ static prune(data: any, userContact: any): Company; id: string; name: string; status: string; state: string; logo: any; nameForLogs: string; filterName: string; offerType: string; isBP: boolean; bpId: string; bpType: string; bpBusinessType: string[]; private rxSubject; banner: any; avatarShape: string; slogan: string; country: any; timezone: string; economicActivityClassification: any; size: any; website: string; companyContactId: string; description: string; supportEmail: string; lastAvatarUpdateDate: any; lastBannerUpdateDate: any; selectedSplashScreen: { lastUpdateDate?: string; isForced?: boolean; uploadedUsed?: boolean; companyId?: string; }; visibility: string; numberUsers: number; organisationId: string; /** * Office365 tenant configured for this company. */ office365Tenant: string; /** * Scopes granted to Rainbow for usage of Microsoft Office365 APIs. * * Non-exhaustive list of values : 'directory' | 'calendar' | 'provisioning' | 'meeting_scheduler' | 'o365_admin' | 'teams' | 'personal_contacts' */ office365ScopesGranted: string[]; /** * Indicates if the admin delegated mode could be activated (ie. 'office365AdminMode' property). */ readonly isOffice365AdminDelegatedModeAuthorized: boolean; /** * Specifies how activation of O365 calendar and teams presence synchronization are handled for company's users. */ office365AdminMode: Office365AdminMode; /** * Indicates if all users should be synchronized with their office365 Calendar presence. */ office365SynchronizeCalendarPresence: boolean; /** * Indicates if all users should be synchronized with their office365 Teams presence. */ office365SynchronizeTeamsPresence: boolean; bpHasRightToConnect: boolean; cloudPbxRecordingInboundOnly: boolean; hideContractInfo: boolean; displayIdrFiles: boolean; allowUsersSelectTheme: boolean; allowUsersSelectPublicTheme: boolean; selectedTheme: any; originalSelectedTheme: any; selectedThemeCustomers: any; originalSelectedThemeCustomers: any; allowDeviceFirmwareSelection: boolean; selectedDeviceFirmware: string; allowCloudPbxDeviceAccess: boolean; isEdge: boolean; edgeData: IEdgeStatus; privacy: any; dataLocation: any; supportUrlFAQ: string; disableCCareAdminAccess: boolean; disableCCareAdminAccessCustomers: boolean; disableCCareAdminAccessResellers: boolean; adminHasRightToUpdateSubscriptions: boolean; adminAllowedUpdateSubscriptionsOps: string; sendPrepaidSubscriptionsNotification: boolean; adminHasTheRightToEnableDeskphoneFailover: boolean; adminServiceNotificationsLevel: string; teamsPresenceOnRainbowBusyPhone: string; endOfConferenceBehavior: { behavior: 'rainbow' | 'custom_url' | 'no_redirect'; customUrl?: string; }; enableNewVirusScanPolicy: boolean; referrals: string[]; constructor(data: any); /** * Allows to update an existing company with data from server. * * @param data - The object containing the updated attributes of the company */ updateFromData(data: any): void; getNameForLogs(): string; /** * Gets the status of the company * @returns True if the company is active */ isActive(): boolean; isInitializing(): boolean; isInvited(): boolean; /** * @public * @returns true if the company in the Freemium business model, otherwise false. */ isFreemium(): boolean; /** * @public * @returns true if the company has contracted the Premium Plan, otherwise false. */ isPremium(): boolean; /** * @public * @returns true if the company is a Value Added Distributor (VAD) Business Partner company, otherwise false. */ isVAD(): boolean; /** * @public * @returns true if the company is an Indirect Reseller (IR) Business Partner company, otherwise false. */ isIR(): boolean; /** * @public * @returns true if the company is a Direct Reseller (DR) Business Partner company, otherwise false. */ isDR(): boolean; /** * @public * @returns true if the company is End Customer (EC) company, otherwise false. */ isEC(): boolean; /** * @public * @returns true if the company is the Orange company, otherwise false. */ isOrange(): boolean; /** * @public * @returns true if the company is a distributor BP is allowed to sell Rainbow Edge. */ hasRightToSellRainbowEdge(): boolean; onChange(callback: any): import("rxjs").Subscription; sendChangeEvent(type: string, value?: any): any; getSelectedWhiteThemeId(): string; setSelectedWhiteThemeId(lightId: any): void; getSelectedDarkThemeId(): string; setSelectedDarkThemeId(darkId: any): void; setSelectedTheme(theme: Theme): void; getSelectedCustomerWhiteThemeId(): string; setSelectedCustomerWhiteThemeId(lightId: any): void; getSelectedCustomerDarkThemeId(): string; setSelectedCustomerDarkThemeId(darkId: any): void; setSelectedThemeCustomers(theme: Theme): void; toJSON(): any; getPrivacy(): string; setPrivacy(privacy: any): void; } //# sourceMappingURL=company.model.d.ts.map