export type CoverageObservedClass = 'UNKNOWN_OUTSIDE_SCOPE' | 'INCOMPLETE_OBSERVED' | 'COMPLETE_OBSERVED'; export type CoverageDispatch = { name: string; /** Host timestamp if they have one. Accepted and discarded — the snapshot is counts, not a trail. */ at?: string; }; type CoverageObservedBase = { governed_calls: number; tools: readonly string[]; }; export type CoverageObservedUnknown = CoverageObservedBase & { class: 'UNKNOWN_OUTSIDE_SCOPE'; }; export type CoverageObservedIncomplete = CoverageObservedBase & { class: 'INCOMPLETE_OBSERVED'; total_calls: number; ungoverned_calls: number; ungoverned_tools: readonly string[]; }; export type CoverageObservedComplete = CoverageObservedBase & { class: 'COMPLETE_OBSERVED'; total_calls: number; ungoverned_calls: number; ungoverned_tools: readonly string[]; }; export type CoverageObserved = CoverageObservedUnknown | CoverageObservedIncomplete | CoverageObservedComplete; export type CoverageObservedHandle = { snapshot: () => CoverageObserved; reportToolDispatch: (ev: CoverageDispatch) => void; reportToolDispatchBatch: (evs: readonly CoverageDispatch[]) => void; }; export type CoverageObserver = { setTableNames: (names: readonly string[]) => void; recordGoverned: (name: string) => void; snapshot: () => CoverageObserved; handle: CoverageObservedHandle; }; export declare function createCoverageObserver(): CoverageObserver; export declare function freezeCoverageObserved(obs: CoverageObserved): CoverageObserved; /** * Proof / T3 human line. Half B absent vs named ungoverned vs complete host report. */ export declare function formatCoverageObservedLine(obs: CoverageObserved): string; export {}; //# sourceMappingURL=coverage-observed.d.ts.map