/************************************************************************* * Copyright 2020 Adobe * All Rights Reserved. * * NOTICE: Adobe permits you to use, modify, and distribute this file in * accordance with the terms of the Adobe license agreement accompanying * it. If you have received this file from a source other than Adobe, * then your use, modification, or distribution of it requires the prior * written permission of Adobe. **************************************************************************/ /** * Internal APIs, meant to be used by Unified Shell only. * @ignore */ import { Application } from './metrics/Application'; import EventEmitter from './src/EventEmitter'; import { Modules } from './src/Global'; import Metric from './metrics/Metric'; import MetricsConfiguration from './metrics/Configuration'; import { Configuration as NetworkConfiguration } from './network'; import User from './metrics/User'; export type { Modules }; export interface Poller { activeFrequency: number; hiddenFrequency?: number; name: string; inactiveFrequency: number; immediate: boolean; pollFn: () => Promise; } export interface PollerHandle { handle: string; } export interface UserActivityEmitter extends EventEmitter { activityEvents: string[]; } export interface UserActivityMonitor extends EventEmitter { active: boolean; configure: (config: PollingConfiguration) => void; hidden: boolean; lastActive: number; registerActivityEmitter(emitter: UserActivityEmitter): void; } export interface PollingConfiguration { inactivityTimeoutSec?: number; pollWhileInactive?: boolean; } /** * @ignore */ export interface InternalApi { addPoller(poller: Poller): Promise; clearUser(version?: string): void; configureMetrics(config?: MetricsConfiguration): Promise; configureNetwork(config: NetworkConfiguration): void; configurePolling(config: PollingConfiguration): Promise; flush(): Promise; getActivityMonitor(): Promise; preloadEngine(): void; registerActivityEmitter(emitter: UserActivityEmitter): Promise; removePoller(handle: PollerHandle): Promise; setApplication(app: Application): void; setFilter(filterFunction: (record: T) => Promise): void; setUser(user: User, version?: string): void; waitForGainsight(): Promise; } /** * @ignore */ export declare class Internal { static addPoller(poller: Poller): Promise; static configureMetrics(config?: MetricsConfiguration): Promise; static configureNetwork(config: NetworkConfiguration): void; static configurePolling(config: PollingConfiguration): Promise; static flush(): Promise; static getActivityMonitor(): Promise; static preloadEngine(): void; static registerActivityEmitter(emitter: UserActivityEmitter): Promise; static removePoller(handle: PollerHandle): Promise; static setApplication(app: Application): void; static setFilter(filterFunction: (record: T) => Promise): void; static setUser(user: User, version?: string): void; static clearUser(version?: string): void; static waitForGainsight(): Promise; }