/** * FeltDB Adoption Telemetry * * Privacy-preserving, anonymous telemetry for adoption analytics. * No source code, project names, filesystem paths, or PII collected. * Fail-open: telemetry failures never affect FeltDB operation. */ /** * Telemetry event types */ export type TelemetryEventType = 'initialize' | 'write' | 'query' | 'sync' | 'agent_operation' | 'production_activity'; /** * Telemetry event payload */ export interface TelemetryEvent { event: TelemetryEventType; installation_id: string; core_version: string; runtime: 'node' | 'browser'; os: string; timestamp: string; } /** * Telemetry client * Handles event collection and transport */ export declare class TelemetryClient { private identity; private enabled; private readonly batchSize; private eventQueue; private flushTimer; private coreVersion; private runtime; constructor(coreVersion?: string); /** * Emit a telemetry event */ emit(eventType: TelemetryEventType): void; /** * Flush pending events to telemetry server */ private flush; /** * Schedule a flush for pending events */ private scheduleFlush; /** * Send events to telemetry server * Uses fire-and-forget with short timeout */ private sendEvents; /** * Get normalized OS name */ private getOS; /** * Enable telemetry */ enable(): void; /** * Disable telemetry */ disable(): void; /** * Check if telemetry is enabled */ isEnabled(): boolean; /** * Force flush all pending events */ forceFlush(): Promise; } /** * Get or create global telemetry client */ export declare function getTelemetryClient(coreVersion?: string): TelemetryClient; /** * Emit a telemetry event using global client */ export declare function emitTelemetry(eventType: TelemetryEventType): void; //# sourceMappingURL=telemetry.d.ts.map