import type { Logger } from './types.js'; export interface AuditState { /** Feed a single parsed JSONL line. Returns log lines to emit (zero or more). */ ingest(line: string, fallbackTsMs: number): string[]; /** Drop the watcher's pending state. Returns orphan log lines (tool_use with * no matching tool_result by teardown). */ teardown(): string[]; } interface AuditOptions { sessionId: string; logger: Logger; } export declare function createAuditState(opts: AuditOptions): AuditState; export interface AuditHandle { /** Stop watching, drain orphan log lines. Idempotent. */ stop(): void; } export interface AuditRegistry { /** Attach a watcher for a public-role session. Idempotent on sessionId. */ attach(sessionId: string, jsonlPath: string): void; /** Detach one session's watcher, draining orphans. */ detach(sessionId: string): void; /** Detach all (manager shutdown). */ drain(): void; } export interface RegistryDeps { logger: Logger; /** Polling interval for `watchFile`. Default 250ms — same as `/log?follow=1`. */ pollIntervalMs?: number; } export declare function createAuditRegistry(deps: RegistryDeps): AuditRegistry; export {}; //# sourceMappingURL=public-tool-audit.d.ts.map