import { HoistService, InitContext } from '@xh/hoist/core'; /** * Load and report on the client and server environment, including software versions, timezones, and * other technical information. */ export declare class EnvironmentService extends HoistService { telemetryPrefix: string; static instance: EnvironmentService; /** * Version of this application currently running on the Hoist UI server. * Unlike most other EnvironmentService state, this is refreshed on a timer and observable. */ serverVersion: string; /** * Build of this application currently running on the Hoist UI server. * Unlike most other EnvironmentService state, this is refreshed on a timer and observable. */ serverBuild: string; /** * Instance of Hoist UI server currently delivering content to this client. * Unlike most other EnvironmentService state, this is refreshed on a timer and observable. */ serverInstance: string; private data; private pollConfig; private pollTimer; initAsync(ctx: InitContext): Promise; get(key: string): any; get appEnvironment(): AppEnvironment; isProduction(): boolean; isTest(): boolean; /** * Update critical environment information from the server, including current app version + build, * upgrade prompt mode, and alert banner. * * @internal - not for app use. Called by `pollTimer` and as needed by Hoist code. */ pollServerAsync(): Promise; constructor(); private ensureVersionRunnable; private startPolling; private setServerInfo; private get pollIntervalMs(); } /** * Available application deployment environments, as defined by Hoist Core `AppEnvironment.groovy`. * * Note that this is distinct from node's `process.env.NODE_ENV`, which will be "production" at * runtime on any built/deployed instances of the app, including on Dev/UAT servers. */ export type AppEnvironment = 'Production' | 'Beta' | 'Staging' | 'Development' | 'Test' | 'UAT' | 'BCP';