import { RemoteAgentConnectionContext } from "@codingame/monaco-vscode-api/vscode/vs/platform/remote/common/remoteAgentEnvironment"; import { IChannel, IServerChannel } from "@codingame/monaco-vscode-api/vscode/vs/base/parts/ipc/common/ipc"; import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"; import { PersistentConnectionEvent } from "@codingame/monaco-vscode-api/vscode/vs/platform/remote/common/remoteAgentConnection"; import { IRemoteAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/remote/common/remoteAgentService.service"; export interface IExtensionHostExitInfo { code: number; signal: string; } export interface IRemoteAgentConnection { readonly remoteAuthority: string; readonly onReconnecting: Event; readonly onDidStateChange: Event; end(): Promise; dispose(): void; getChannel(channelName: string): T; withChannel(channelName: string, callback: (channel: T) => Promise): Promise; registerChannel>(channelName: string, channel: T): void; getInitialConnectionTimeMs(): Promise; updateGraceTime(graceTime: number): void; } export interface IRemoteConnectionLatencyMeasurement { readonly initial: number | undefined; readonly current: number; readonly average: number; readonly high: boolean; } export declare const remoteConnectionLatencyMeasurer: { readonly maxSampleCount: 5; readonly sampleDelay: 2000; readonly initial: number[]; readonly maxInitialCount: 3; readonly average: number[]; readonly maxAverageCount: 100; readonly highLatencyMultiple: 2; readonly highLatencyMinThreshold: 500; readonly highLatencyMaxThreshold: 1500; lastMeasurement: IRemoteConnectionLatencyMeasurement | undefined; get latency(): IRemoteConnectionLatencyMeasurement | undefined; measure(remoteAgentService: IRemoteAgentService): Promise; };