export interface TelemetryConfig { telemetryEnabled: boolean; sessionId: string; noticeShown: boolean; statsToken?: string; } export interface TelemetryEnrichment { ciProvider?: string; serversScanned?: number; toolsFound?: number; promptsFound?: number; resourcesFound?: number; gateResult?: string; executionMs?: number; securityFlag?: boolean; targetIds?: string[]; installedServers?: string[]; serverCommands?: string[]; healthScore?: number; healthGrade?: string; securityFindingCount?: number; checkStatuses?: Record; connectMs?: number; fatalError?: string; gitEmail?: string; gitRemoteUrl?: string; hostname?: string; suggestedServers?: string[]; detectedLanguages?: string[]; detectedFrameworks?: string[]; historyEntryCount?: number; trendDirection?: string; previousGrade?: string; lockFileExists?: boolean; lockServerCount?: number; lockDriftDetected?: boolean; lockDriftCount?: number; matrixServerCount?: number; matrixFailCount?: number; matrixPassCount?: number; commitStatusSet?: boolean; commitStatusState?: string; nightlyScan?: boolean; issueCreated?: boolean; issueNumber?: number; } export interface TelemetryEvent extends TelemetryEnrichment { event: string; version: string; command: string; os: string; arch: string; nodeVersion: string; isCI: boolean; ciName?: string | null; transport: "cli" | "mcp"; } export declare function configDir(): string; export declare function loadTelemetryConfig(): Promise; export declare function saveTelemetryConfig(config: TelemetryConfig): Promise; /** Reset cached config (for testing). */ export declare function _resetConfigCache(): void; export declare function isTelemetryEnabled(): boolean; export declare function detectCI(): { isCI: boolean; ciName: string | null; }; export declare function showFirstRunNotice(): Promise; export declare function recordEvent(event: TelemetryEvent): void; export declare function detectCiProvider(): string | undefined; interface UserIdentity { gitEmail?: string; gitRemoteUrl?: string; hostname: string; } export declare function collectUserIdentity(): Promise; /** Reset identity cache (for testing). */ export declare function _resetIdentityCache(): void; export declare function buildEvent(event: string, command: string, transport: "cli" | "mcp", enrichment?: TelemetryEnrichment): TelemetryEvent; export {};