export declare enum TelemetryEvent { /** * Emitted once after successful startup so we can count boots independently * of tool calls. */ SERVER_START = "Server Start", /** * Emitted once for every tool call for telemetry on tool usage. */ TOOL_CALL = "Tool Call", /** * Emitted once per terminal OAuth PKCE login attempt (success or failure). * Refresh-token rotations are not tracked here. */ CCLOUD_AUTHENTICATION = "CCloud Authentication" } /** * Inputs to {@link TelemetryService.initialize}. `writeKey` is whatever the * caller resolved (YAML override, build-config injected value, or undefined); * the service treats `undefined`/`""` as "telemetry off" and otherwise hands * the value to the Segment Analytics constructor. */ export interface TelemetryInitOptions { readonly doNotTrack: boolean; readonly writeKey: string | undefined; } export declare const FALLBACK_MACHINE_ID = "00000000-0000-0000-0000-000000000000"; export declare class TelemetryService { private static instance; private analytics; private machineId; private serverSessionId; private commonProperties; private constructor(); /** * Bootstrap-time entry point. The caller (main()) is responsible for * resolving `writeKey` from its sources — typically * `mcpConfig.server.analytics?.write_key ?? buildConfig.TELEMETRY_WRITE_KEY` * — before invoking this. A falsy `writeKey` (`undefined` or `""`) keeps * analytics disabled even when `doNotTrack` is false. */ static initialize(opts: TelemetryInitOptions): void; static getInstance(): TelemetryService; setCommonProperties(properties: Record): void; track(event: TelemetryEvent, properties: Record): void; identify(userId: string, traits: Record): void; shutdown(): Promise; } //# sourceMappingURL=telemetry.d.ts.map