import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service"; import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions"; import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service"; import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service"; /** * Logs telemetry about how many chat models are live at two moments: * 1. At startup, after sessions with pending edits have been revived. * 2. Each time a new chat model is created (skipping the very first one). * * Both events share the same model-count snapshot logic to track background * session accumulation. */ export declare class ChatModelCountTelemetry extends Disposable implements IWorkbenchContribution { private readonly chatService; private readonly chatWidgetService; private readonly telemetryService; static readonly ID = "workbench.contrib.chatModelCountTelemetry"; constructor(chatService: IChatService, chatWidgetService: IChatWidgetService, telemetryService: ITelemetryService); private logStartupTelemetry; private onDidCreateModel; private getSnapshot; }