import { GenericService } from "./GenericService"; export {}; import { EventEmitter } from "events"; import { Logger } from "../common/Logger"; import { Core } from "../Core.js"; declare const FeaturesEnum: { COMPANY_ADMIN_COUNT: string; COMPANY_LOGO_MODIFICATION: string; COMPANY_DOMAIN_NAME_MODIFICATION: string; COMPANY_DETAILS_MODIFICATION: string; WEBRTC_FOR_MOBILE: string; BUBBLE_PARTICIPANT_COUNT: string; TELEPHONY_BASIC_CALL: string; TELEPHONY_SECOND_CALL: string; TELEPHONY_TRANSFER_CALL: string; TELEPHONY_CONFERENCE_CALL: string; TELEPHONY_DEFLECT_CALL: string; TELEPHONY_PHONE_BOOK: string; TELEPHONY_VOICE_MAIL: string; TELEPHONY_CALL_FORWARD: string; TELEPHONY_NOMADIC: string; CONFERENCE_PARTICIPANT_COUNT: string; CONFERENCE_PARTICIPANT_ALLOWED: string; WEBRTC_CONFERENCE_ALLOWED: string; WEBRTC_CONFERENCE_PARTICIPANT_COUNT: string; WEBRTC_PARTICIPANT_ALLOWED: string; CONFERENCE_ALLOWED: string; CONFERENCE_DIAL_OUT: string; CONFERENCE_RECORDING: string; MSO365_CALENDAR_PRESENCE: string; MSO365_DIRECTORY_SEARCH: string; MS_OUTLOOK_PLUGIN: string; MS_SKYPE_PLUGIN: string; FILE_SHARING_QUOTA_GB: string; GOOGLE_CALENDAR_PRESENCE: string; WEBRTC_P2P_RECORDING: string; BUBBLE_PROMOTE_MEMBER: string; BUBBLE_GUESTS_ALLOWED: string; TELEPHONY_WEBRTC_GATEWAY: string; TELEPHONY_WEBRTC_PSTN_CALLING: string; ANALYTICS_DASHBOARD_EC: string; ANALYTICS_DASHBOARD_BP: string; TELEPHONY_CALL_SUBJECT: string; CHANNEL_CREATE: string; CHANNEL_CREATE_ADMIN_ROLE_BYPASS: string; CHANNEL_ACTIVATED: string; PERSONAL_CONFERENCE_ALLOWED: string; ALERT_NOTIFICATIONS_ALLOWED: string; }; declare class ProfilesService extends GenericService { private stats; features: any; profiles: any; mainOffers: any; private thirdPartyApps; private startDate; private timer; static getClassName(): string; getClassName(): string; static getAccessorName(): string; getAccessorName(): string; constructor(_core: Core, _eventEmitter: EventEmitter, _logger: Logger, _startConfig: { start_up: boolean; optional: boolean; }); /*********************************************************************/ /** LIFECYCLE STUFF **/ /*********************************************************************/ start(_options: any, stats: any): void; stop(): Promise; restart(): void; init(useRest: boolean): Promise; onUserUpdateNeeded(): void; /*********************************************************************/ /** PROFILE API STUFF **/ /*********************************************************************/ /** * @public * @nodered true * @method getServerProfile * @async * @category Profiles PROFILES * @description * This API can be used to get user profiles and features.
* @return {Promise} */ getServerProfile(): Promise<[unknown, unknown]>; /** * @public * @nodered true * @method getServerProfiles * @async * @category Profiles PROFILES * @description * This API can be used to get user profiles.
* This API can only be used by user himself * @return {Promise} */ getServerProfiles(): Promise; /** * @public * @nodered true * @method getMyProfileOffer * @category Profiles PROFILES * @description * This API can be used to get user profile offer.
* Returns the profile "Enterprise", "Business", "Essential" or null (if none of them) * @return {any} */ getMyProfileOffer(): any; /** * @public * @nodered true * @method getMyProfileName * @category Profiles PROFILES * @description * This API can be used to get user profile offer name.
* Returns the profile "Enterprise", "Business", "Essential" or null (if none of them) * @return {any} */ getMyProfileName(): any; /** * @public * @nodered true * @method getMyProfiles * @category Profiles PROFILES * @description * This API can be used to get user profiles.
* @return {any} */ getMyProfiles(): any[]; /** * @public * @nodered true * @method getThirdPartyApps * @async * @category Profiles PROFILES * @param {boolean} force=false Parameter force in order to refresh the list * @description * Get The list of the Third Party Application that have access to this Rainbow Account. * @return {Promise} */ getThirdPartyApps(force?: boolean): Promise; /** * @public * @nodered true * @method revokeThirdPartyAccess * @async * @category Profiles PROFILES * @param {string} tokenId The tokenId should be sent as a parameter * @description * Revoke the access of a third-party application from Rainbow * @return {Promise} */ revokeThirdPartyAccess(tokenId: string): Promise; /** * @public * @nodered true * @method getServerProfilesFeatures * @async * @category Profiles FEATURES * @description * This API can be used to get user profile features.
* @return {Promise} */ getServerProfilesFeatures(): Promise; /*********************************************************************/ /** USER DATA API STUFF **/ /*********************************************************************/ /** * @public * @nodered true * @method isFeatureEnabled * @category Profiles FEATURES * @description * This API can be used to know if a feature is enabled.
* @return {any} */ isFeatureEnabled(featureUniqueRef: string): any; /** * @public * @nodered true * @method getFeatureLimitMax * @category Profiles FEATURES * @description * This API can be used to get Max limit of feature.
* @return {any} */ getFeatureLimitMax(featureUniqueRef: string): any; /** * @public * @nodered true * @method getFeatureLimitMin * @category Profiles FEATURES * @description * This API can be used to get Min limit of feature.
* @return {any} */ getFeatureLimitMin(featureUniqueRef: string): any; /** * @public * @nodered true * @method getMyProfileFeatures * @category Profiles FEATURES * @description * This API can be used to get features of the profile of connected user.
* @return {any} */ getMyProfileFeatures(): {}; getFeaturesEnum(): { COMPANY_ADMIN_COUNT: string; COMPANY_LOGO_MODIFICATION: string; COMPANY_DOMAIN_NAME_MODIFICATION: string; COMPANY_DETAILS_MODIFICATION: string; WEBRTC_FOR_MOBILE: string; BUBBLE_PARTICIPANT_COUNT: string; TELEPHONY_BASIC_CALL: string; TELEPHONY_SECOND_CALL: string; TELEPHONY_TRANSFER_CALL: string; TELEPHONY_CONFERENCE_CALL: string; TELEPHONY_DEFLECT_CALL: string; TELEPHONY_PHONE_BOOK: string; TELEPHONY_VOICE_MAIL: string; TELEPHONY_CALL_FORWARD: string; TELEPHONY_NOMADIC: string; CONFERENCE_PARTICIPANT_COUNT: string; CONFERENCE_PARTICIPANT_ALLOWED: string; WEBRTC_CONFERENCE_ALLOWED: string; WEBRTC_CONFERENCE_PARTICIPANT_COUNT: string; WEBRTC_PARTICIPANT_ALLOWED: string; CONFERENCE_ALLOWED: string; CONFERENCE_DIAL_OUT: string; CONFERENCE_RECORDING: string; MSO365_CALENDAR_PRESENCE: string; MSO365_DIRECTORY_SEARCH: string; MS_OUTLOOK_PLUGIN: string; MS_SKYPE_PLUGIN: string; FILE_SHARING_QUOTA_GB: string; GOOGLE_CALENDAR_PRESENCE: string; WEBRTC_P2P_RECORDING: string; BUBBLE_PROMOTE_MEMBER: string; BUBBLE_GUESTS_ALLOWED: string; TELEPHONY_WEBRTC_GATEWAY: string; TELEPHONY_WEBRTC_PSTN_CALLING: string; ANALYTICS_DASHBOARD_EC: string; ANALYTICS_DASHBOARD_BP: string; TELEPHONY_CALL_SUBJECT: string; CHANNEL_CREATE: string; CHANNEL_CREATE_ADMIN_ROLE_BYPASS: string; CHANNEL_ACTIVATED: string; PERSONAL_CONFERENCE_ALLOWED: string; ALERT_NOTIFICATIONS_ALLOWED: string; }; } export { ProfilesService, FeaturesEnum };