import { AgentConfig } from '../config-process/config'; import { AgentEventCode, IAgentEvent, IAgentStartInfo, IPingData, ITagInfo, IToolInfo } from './agent-events-contracts'; import { Watchdog } from '../watchdog'; import { AgentInstanceData } from '../agent-instance-data'; import { IColorContextManager, Logger } from '../contracts'; import { IBackendProxy } from '../http/backend-proxy-interface'; export declare class AgentEventsController { private readonly getSystemOffset; private readonly colorContextManager?; private static readonly PING_INTERVAL; private static readonly MAX_SHUTDOWN_RETRIES; private _agentConfig; private _agentInstanceData; private _backendProxy; private _logger; private _pingWatchdog; private _tags; private _tools; private startRequestStatus; private shutDownRetries; private active; private submittedEventsMap; constructor(agentConfig: AgentConfig, agentInstanceData: AgentInstanceData, logger: Logger, getSystemOffset: () => number, backendProxy: IBackendProxy, tool?: IToolInfo, tags?: ITagInfo[], colorContextManager?: IColorContextManager); submitAgentStartedEvent(packageJsonFile?: any): Promise; private addColorToEvent; protected submitAgentEventRequest(event: IAgentEvent | IAgentEvent[]): Promise; buildAgentStartEvent(packageJsonFile: any): IAgentEvent; buildAgentShutdownEvent(): IAgentEvent; submitAgentShutdownEvent(): Promise; submitPingEvent(): void; submitEvent(code: AgentEventCode, data?: T): void; submitEventOnce(code: AgentEventCode): void; submitGenericMessage(message: string): void; submitWarning(message: string): void; submitError(message: string): void; submitErrorsBatch(messages: string[]): void; protected sendMessage(message: string, code: AgentEventCode): void; submitConfigChanged(): void; get watchdog(): Watchdog; get agentConfig(): AgentConfig; get logger(): Logger; get tools(): IToolInfo[]; resolveTags(): ITagInfo[]; addTags(tags: ITagInfo[]): void; addTool(tollInfo: IToolInfo): void; private initWatchdog; private getTimers; private buildEvent; get agentInstanceData(): AgentInstanceData; }