import { HoistService, TrackOptions } from '@xh/hoist/core'; /** * Primary service for tracking any activity that an application's admins want to track. * Activities are available for viewing/querying in the Admin Console's Client Activity tab. * Client metadata is set automatically by the server's parsing of request headers. */ export declare class TrackService extends HoistService { telemetryPrefix: string; static instance: TrackService; private oncePerSessionSent; private pending; initAsync(): Promise; get conf(): ActivityTrackingConfig; get enabled(): boolean; /** Track User Activity. */ track(options: TrackOptions | string): void; /** * Flush the queue of pending activity tracking messages to the server. * * Not typically called by applications. Called automatically by the framework via a * debounce and when the page is hidden/terminated. */ pushPendingAsync(): Promise; private pushPendingBuffered; private toServerJson; private logMessage; } interface ActivityTrackingConfig { clientHealthReport?: Partial & { intervalMins: number; }; enabled: boolean; logData: boolean; maxDataLength: number; maxRows?: { default: number; options: number[]; }; levels?: Array<{ username: string | '*'; category: string | '*'; severity: 'DEBUG' | 'INFO' | 'WARN' | 'ERROR'; }>; } export {};