@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
177 lines (176 loc) • 7.59 kB
TypeScript
import { Observable } from 'rxjs';
import { JsonObject } from '../base/json';
import { PlainVersionedObject, VersionedObject, VersionedObjectConstructor, VersionedObjectHandlers } from '../base/versioned-object';
import { Rpc } from '../rpc/rpc';
import { GatewayConnection } from './gateway-connection';
export declare const enum BannerHideType {
/**
* Indicates banner is not hidden (unusual)
*/
None = 0,
/**
* Indicates banner is hidden for the current session
*/
Session = 1,
/**
* Indicates banner is hidden permanently
*/
Permanent = 2
}
/**
* Defines banner settings for the current user shared across the application
*/
export interface BannerUserSettings extends JsonObject {
id: string;
hideType: BannerHideType;
}
/**
* The Versioned representation of the Shell User Settings
* This object is used for settings that specific to the current user and to shell
*/
export declare class CommonUserSettings extends VersionedObject {
private static propertyNames;
/**
* Getter for the latest version of the common user settings
*/
get latestVersion(): number;
/**
* Getter for the users preference on banner settings
*/
get banners(): BannerUserSettings[];
/**
* Setter for the users preference on banner settings
*/
set banners(value: BannerUserSettings[]);
constructor(objectWrapper: PlainVersionedObject, handlers: VersionedObjectHandlers);
/**
* Attempts to upgrade the current version of the object at least one version toward the latest version.
* if this.currentVersion is null or undefined, then the upgrade should initialize to the latest version
* this is called iteratively until the current version is equal to the latest version
*/
protected upgrade(): void;
}
/**
* Defines the common application settings object that is shared through the whole application.
*/
export declare class CommonApplicationSettings extends VersionedObject {
private static propertyNames;
/**
* Getter for the latest version of the common application settings
*/
get latestVersion(): number;
constructor(objectWrapper: PlainVersionedObject, handlers: VersionedObjectHandlers);
/**
* Attempts to upgrade the current version of the object at least one version toward the latest version.
* if this.currentVersion is null or undefined, then the upgrade should initialize to the latest version
* this is called iteratively until the current version is equal to the latest version
*/
protected upgrade(): void;
}
/**
* Defines the common admin settings object that is shared through the whole application.
*/
export declare class CommonAdminSettings extends VersionedObject {
private static propertyNames;
/**
* Getter for the latest version of the common admin settings
*/
get latestVersion(): number;
/**
* Getter for the admin's preference on the connectivity level
*/
get connectivityLevel(): string;
/**
* Setter for the admin's preference on the connectivity level
*/
set connectivityLevel(value: string);
get autoGatewayUpdate(): boolean;
set autoGatewayUpdate(value: boolean);
get autoExtensionsUpdate(): boolean;
set autoExtensionsUpdate(value: boolean);
get scheduledUpdateTime(): string;
set scheduledUpdateTime(value: string);
get updateRescheduled(): boolean;
private sessionsExpirationMinutesCache;
get sessionsExpirationMinutes(): number;
set sessionsExpirationMinutes(value: number);
private credentialsExpirationTimeInMsCache;
/**
* Get stored manage as credentials expiration time in milliseconds
*/
get credentialsExpirationTimeInMs(): number;
/**
* Store manage as credentials expiration time in milliseconds
*/
set credentialsExpirationTimeInMs(value: number);
set updateRescheduled(value: boolean);
constructor(objectWrapper: PlainVersionedObject, handlers: VersionedObjectHandlers, gatewayService: GatewayConnection);
/**
* Attempts to upgrade the current version of the object at least one version toward the latest version.
* if this.currentVersion is null or undefined, then the upgrade should initialize to the latest version
* this is called iteratively until the current version is equal to the latest version
*/
protected upgrade(): void;
}
/**
* Defines the interface for the settings manager.
*/
export interface SettingsQuery {
httpServerHeader: string;
getCommonUserSettings(): Observable<CommonUserSettings>;
getCommonApplicationSettings(): Observable<CommonApplicationSettings>;
getCommonAdminSettings(): Observable<CommonAdminSettings>;
getExtensionUserSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>;
getExtensionApplicationSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>;
getExtensionAdminSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>;
}
/**
* Manager for the settings. Provides an api for managing user and application settings.
*/
export declare class SettingsManager implements SettingsQuery {
private rpc;
private gatewayService;
/**
* Initializes a new instance of the SettingsManager class.
*
* @param rpc the RPC class instance.
*/
constructor(rpc: Rpc, gatewayService: GatewayConnection);
/**
* Gets the http server header if any.
*/
get httpServerHeader(): string;
/**
* Get common user settings. This is currently read-only
*/
getCommonUserSettings(): Observable<CommonUserSettings>;
/**
* Get common application settings. This is currently read-only
*/
getCommonApplicationSettings(): Observable<CommonApplicationSettings>;
/**
* Get common admin settings. This is currently read-only
*/
getCommonAdminSettings(): Observable<CommonAdminSettings>;
/**
* Get extension user settings
* Extension settings objects must be an object that extends VersionedObject or implements the VersionedObjectConstructor
* example: if TestObject extends VersionedObject, then getExtensionUserSettings(TestObject) will return an Observable<TestObject>
* you should only create 1 versioned object for your extensions user settings.
*/
getExtensionUserSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>;
/**
* Get extension application settings
* Extension settings objects must be an object that extends VersionedObject or implements the VersionedObjectConstructor
* example: if TestObject extends VersionedObject, then getExtensionApplicationSettings(TestObject) will return an
* Observable<TestObject>. You should only create 1 versioned object for your extensions application settings.
*/
getExtensionApplicationSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>;
/**
* Get extension admin settings
* Extension settings objects must be an object that extends VersionedObject or implements the VersionedObjectConstructor
* example: if TestObject extends VersionedObject, then getExtensionAdminSettings(TestObject) will return an
* Observable<TestObject>. You should only create 1 versioned object for your extensions admin settings.
*/
getExtensionAdminSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>;
}