import { TelemetryRepository } from '@/domain/repositories/telemetry.interface'; import { CrashReportAttributes, TelemetrySource, Telemetry, EventAttributes, TelemetryAnonymized, BenchmarkHardware } from '@/domain/telemetry/telemetry.interface'; import { ModelStat } from '@/infrastructure/commanders/types/model-stat.interface'; export declare class TelemetryRepositoryImpl implements TelemetryRepository { private readonly telemetryResource; private readonly crashReportFileName; private readonly anonymizedDataFileName; constructor(); private getTelemetryDirectory; private generateChecksum; sendTelemetryToServer(telemetryEvent: Telemetry['event'], type?: 'crash-report' | 'metrics'): Promise; sendBenchmarkToServer(data: { hardware: BenchmarkHardware; results: any; metrics: any; model: ModelStat; sessionId: string; }): Promise; sendTelemetryToOTelCollector(endpoint: string, telemetry: Telemetry): Promise; markLastCrashReportAsSent(): Promise; readCrashReports(callback: (Telemetry: Telemetry) => void): Promise; getLastCrashReport(): Promise; createCrashReport(crashReport: CrashReportAttributes, source: TelemetrySource): Promise; private convertToTelemetryEvent; sendEvent(events: EventAttributes[], source: TelemetrySource): Promise; getAnonymizedData(): Promise; updateAnonymousData(data: TelemetryAnonymized): Promise; }