import type { TelemetryEvent } from "./events.ts"; export declare const STALL_THRESHOLD_MS: number; export declare const UNRESOLVED_COMPACTION_MS: number; export interface TelemetrySummary { windowDays: number; totalEvents: number; perDay: Array<{ day: string; n: number; }>; perKind: Array<{ kind: string; n: number; }>; toolCalls: { total: number; failed: number; failureRatePct: number; topFailing: Array<{ tool: string; n: number; topError?: string; }>; }; compaction: { total: number; byReason: Array<{ reason: string; n: number; }>; avgSummaryChars: number | null; maxSummaryChars: number | null; unresolvedBegins: number; stalledAfterCompaction: number; /** Host-sourced causal failures (stage === "host"). */ hostFailures: number; /** Host failures with no matching begin under the session context. */ orphanHostFailures: number; }; compactionQuality: { total: number; validationFailures: number; validationFailureRatePct: number; fallbacks: number; fallbackRatePct: number; repairs: number; repairRatePct: number; splitTurns: number; splitTurnRatePct: number; worktreeVerified: number; worktreeVerifiedRatePct: number; totalCompactedMessages: number; avgCompactedMessages: number | null; avgSelectedMessages: number | null; avgOmittedMessages: number | null; messageOmissionRatePct: number; avgSummaryChars: number | null; avgInputTokenBudget: number | null; avgFinalTokenBudget: number | null; avgDurationMs: number | null; totalOmittedManagedRecords: number; totalOmittedManagedBlocks: number; totalRedactions: number; totalTruncatedRecords: number; avgContinuityRecords: number | null; avgEvidenceAnchors: number | null; byMode: Array<{ mode: string; n: number; }>; }; recall: { total: number; hits: number; totalRankedHits: number; zeroHit: number; zeroHitRatePct: number; scopeWidened: number; scopeWidenedRatePct: number; degraded: number; degradedRatePct: number; avgSourceEntries: number | null; avgSourceEntriesOmitted: number | null; sourceOmissionRatePct: number; avgCandidates: number | null; avgTotalHits: number | null; avgHits: number | null; avgExpanded: number | null; avgDirectRefs: number | null; avgDurationMs: number | null; byMode: Array<{ mode: string; n: number; }>; byScope: Array<{ scope: string; n: number; }>; }; vault: { total: number; failed: number; }; compactionFailures: Array<{ stage: string; n: number; topError?: string; }>; sources: Array<{ source: string; n: number; }>; skills: Array<{ skill: string; n: number; }>; followUps: { total: number; sent: number; blocked: number; byBlockedReason: Array<{ reason: string; n: number; }>; }; subagents: { total: number; failed: number; byProfile: Array<{ profile: string; n: number; failed: number; }>; }; } export declare function summarizeTelemetryEvents(events: TelemetryEvent[], windowDays: number, now?: number): TelemetrySummary;