import { GenericService } from "./GenericService"; export {}; import { EventEmitter } from "events"; import { Logger } from "../common/Logger"; import { Core } from "../Core"; declare class Settings extends GenericService { static getClassName(): string; getClassName(): string; static getAccessorName(): string; getAccessorName(): string; constructor(_core: Core, _eventEmitter: EventEmitter, _logger: Logger, _startConfig: { start_up: boolean; optional: boolean; }); start(_options: any): Promise; stop(): Promise; init(useRestAtStartup: boolean): Promise; /** * @public * @since 2.20.0 * @nodered true * @method getUserSettings * @category Settings - Users * @async * @instance * @description * Get current User Settings
* This API can only be used by user himself
* @return {Promise} A promise containing the result * * * | Champ | Type | Description | * | --- | --- | --- | * | presence | String | Setting for manual user presence (used to go back to this presence when user logs in, instead of default (online))

Possible values: `online`, `away`, `invisible`, `dnd` | * | displayNameOrderFirstNameFirst | Boolean | Setting for user display name order

* true: firstname first
* false: lastname first | * | activeAlarm | String | Setting for active user alarm sound | * | activeNotif | String | Setting for active user notification sound | * | ringingOnDnd | Boolean | Setting for allowing the user's devices to ring when receiving incoming call while being on DND. | * | promptForCalendarPresence | Boolean | Setting to bypass calendar presence popup | * | applyCalendarPresence optionnel | Boolean | Calendar presence should be applied as user preference settings (DND) | * | promptForMsTeamsPresence | Boolean | Setting to bypass Microsoft Teams presence popup | * | applyMsTeamsPresence optionnel | Boolean | Microsoft Teams presence should be applied as user preference settings (Busy/DND) | * | protectionAgainstMailTypeOffline | boolean | Never receive unsolicited emails of type 'offLine' | * | rainbowReadOnly | Object | Some rainbow public settings | * | nbDaysBeforeWarningByMail | Integer | Notifying offline user by mail, allowed after n days after last login | * | autoAnswer | Boolean | Setting to allow one rainbow client to answer incoming call initiated by external | * | delayBetweenTwoWarningByMailInDays | Integer | Retry notifying offline user by mail, allowed after n days after last attempt | * | autoAnswerByDeviceType | String | Setting to define the default rainbow client used for the autoAnswer feature: IOS or Androïd or Desktop (default = Desktop) | * */ getUserSettings(): Promise; /** * @public * @since 2.20.0 * @nodered true * @method updateUserSettings * @category Settings - Users * @async * @param {Object} settings : user settings to update
* {
* **presence** optionnel : string : Setting for manual user presence (used to go back to this presence when user logs in, instead of default (online)). Default value : `online`. Possible values : `"online"`, `"away"`, `"invisible"`, `"dnd"`
* **displayNameOrderFirstNameFirst** optionnel : boolean : Setting for user display name order. * true: firstname first. * false: lastname first. Default value : `true`
* **activeAlarm** optionnel : String : Setting for active user alarm sound. Default value : `relax1`.
* **activeNotif** optionnel : String : Setting for active user notification sound. Default value : `notif1`.
* **ringingOnDnd** optionnel : boolean : Setting for allowing devices to ring on incoming call while being on DND. Default value : `false`
* **protectionAgainstMailTypeOffline** optionnel : boolean : Allow never receiving unsolicited emails of type 'offLine'. Default value : `false`
* }
* @instance * @description * Update current User Settings
* This API can only be used by user himself
* @return {Promise} A promise containing the result */ updateUserSettings(settings: any): Promise; } export { Settings as SettingsService };