import { HoistService, InitContext } from '@xh/hoist/core'; /** * Service to triggers an app-wide auto-refresh (if enabled, on a configurable interval) via the * application's root RefreshContextModel. * * For this service to be active, it must be configured/enabled in two ways: * * 1) A refresh interval for the client app must be specified via the `xhAutoRefreshIntervals` JSON * config. Intervals are specified in seconds and keyed by `clientAppCode` to allow for * different auto-refresh behaviors across different JS apps in the same project. * * 2) The user's `xhAutoRefreshEnabled` preference must be set to true. This is currently a single * pref. applied to all JS apps in the project. Apps can add an {@link AppOption} to allow users * to customize via the global options dialog, or set a default pref value if per-user * customization is not desirable. * * @see RefreshContextModel */ export declare class AutoRefreshService extends HoistService { xhImpl: boolean; static instance: AutoRefreshService; private timer; private initTime; get enabled(): boolean; get interval(): number; initAsync(ctx: InitContext): Promise; private onTimerAsync; }