import type { DebugAuditFile } from "../audit"; import type { TelemetryIntegrationOptions, TelemetryIntegrationProvider, TelemetryIntegrationWarning } from "./types"; export type TelemetryIntegrationDispatchReason = "stop" | "error" | "disconnected"; export interface TelemetryIntegrationDispatchContext { reason: TelemetryIntegrationDispatchReason; rawAudit: DebugAuditFile; } export interface TelemetryIntegrationAuditPayload { schemaVersion: 1; kind: DebugAuditFile["kind"]; generatedAt: string; sessionId: string; label: string | null; requestedProvider: DebugAuditFile["requestedProvider"]; resolvedProvider: DebugAuditFile["resolvedProvider"]; sessionDurationMs: number | null; metadata: Record | null; report: { summary: DebugAuditFile["report"]["summary"]; health: DebugAuditFile["report"]["health"]; findings: DebugAuditFile["report"]["findings"]; dashboard: DebugAuditFile["report"]["dashboard"]; timeline: { phases: DebugAuditFile["report"]["timeline"]["phases"]; incidents: DebugAuditFile["report"]["timeline"]["incidents"]; transcriptMilestones: Array<{ type: DebugAuditFile["report"]["timeline"]["transcriptMilestones"][number]["type"]; timestamp: number; }>; }; }; } export interface TelemetryIntegrationProviderAdapter { readonly provider: TelemetryIntegrationProvider; dispatchAudit(payload: TelemetryIntegrationAuditPayload, context: TelemetryIntegrationDispatchContext): Promise | void; } type WarningCallback = (warning: TelemetryIntegrationWarning) => void; export declare const normalizeAuditForIntegration: (audit: DebugAuditFile) => TelemetryIntegrationAuditPayload; export declare class TelemetryIntegrationHub { private readonly config; private readonly onWarning; private readonly dispatchedBySession; private readonly providerAdapter; constructor(options?: TelemetryIntegrationOptions | null, onWarning?: WarningCallback); isEnabled(): boolean; dispatchAudit(audit: DebugAuditFile, reason: TelemetryIntegrationDispatchReason): Promise; private createProviderAdapter; private wasDispatched; private markDispatched; private emitWarning; } export declare const createTelemetryIntegrationHub: (options?: TelemetryIntegrationOptions | null, onWarning?: WarningCallback) => TelemetryIntegrationHub; export {}; //# sourceMappingURL=telemetryIntegration.d.ts.map