import { TelemetryRepository } from '@/domain/repositories/telemetry.interface'; import { BenchmarkHardware, EventAttributes, Telemetry, TelemetryAnonymized, TelemetrySource } from '@/domain/telemetry/telemetry.interface'; import { ContextService } from '@/infrastructure/services/context/context.service'; import { HttpException } from '@nestjs/common'; import { Cortex } from '@cortexso/cortex.js'; export declare class TelemetryUsecases { private readonly telemetryRepository; private readonly contextService; private readonly crashReports; private readonly maxSize; private metricQueue; private readonly maxQueueSize; private readonly flushInterval; private interval; private lastActiveAt?; constructor(telemetryRepository: TelemetryRepository, contextService: ContextService); createCrashReport(error: HttpException | Error, source: TelemetrySource): Promise; sendCrashReport(): Promise; readCrashReports(callback: (Telemetry: Telemetry) => void): Promise; private buildCrashReport; private isCrashReportEnabled; private isMetricsEnabled; private isBenchmarkEnabled; private catchException; initInterval(): Promise; sendEvent(events: EventAttributes[], source: TelemetrySource): Promise; sendActivationEvent(source: TelemetrySource): Promise; addEventToQueue(event: EventAttributes): Promise; private flushMetricQueue; private flushMetricQueueInterval; updateAnonymousData(lastActiveAt?: string | null): Promise; sendBenchmarkEvent({ hardware, results, metrics, model, }: { hardware: BenchmarkHardware; results: any; metrics: any; model: Cortex.Models.Model; }): Promise; }