/** * Telemetry and structured logging for RecCall */ export interface TelemetryEvent { event: string; timestamp: number; duration?: number; properties?: Record; error?: { message: string; stack?: string; code?: string; }; } export interface Metrics { shortcutsCount: number; cacheHitRate: number; cacheSize: number; repositoryEnabled: boolean; lastActivity: number; averageResponseTime?: number; operationCounts?: Record; errorCounts?: Record; fileIOOperations?: number; } export declare class TelemetryManager { private logger; private metrics; private enabled; constructor(); /** * Log an event */ logEvent(event: TelemetryEvent): void; /** * Log an error */ logError(error: Error, context?: Record): void; /** * Log performance metrics */ logPerformance(operation: string, duration: number, properties?: Record): void; /** * Update metrics */ updateMetrics(metrics: Partial): void; /** * Increment operation count */ incrementOperation(operation: string): void; /** * Increment error count */ incrementError(errorCode: string): void; /** * Record response time for an operation */ recordResponseTime(duration: number): void; /** * Increment file I/O operation count */ incrementFileIO(): void; /** * Get current metrics */ getMetrics(): Metrics; /** * Log metrics snapshot */ logMetrics(): void; /** * Enable/disable telemetry */ setEnabled(enabled: boolean): void; /** * Check if telemetry is enabled */ isEnabled(): boolean; /** * Export metrics in Prometheus format */ exportPrometheusMetrics(): string; } export declare const telemetryManager: TelemetryManager; /** * Performance decorator for methods */ export declare function Performance(operation: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor; /** * Error logging decorator for methods */ export declare function LogErrors(context?: Record): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor; //# sourceMappingURL=telemetry.d.ts.map