export type WatchFormat = 'lines' | 'json'; export declare function effectiveWatchHeartbeatMs(seconds: number): number; interface WatchEntry { gen: number; at: string; kind: string; paneId: string; paneName: string; panelId?: string; heldInput?: string; heldInputPresent?: boolean; exitCode?: number; baseline?: true; changedWhileAway?: boolean; sessionId?: string; pr?: { number: number; }; checks?: string; reason?: string | null; failingChecks?: string[]; idleMs?: number; idleCount?: number; report?: WatchReport; } /** The fields of a worker report a REPORT line shows. */ interface WatchReport { state: string; pr?: number; head?: string; question?: string; } export interface WatchResult { epoch: string; generation: number; entries: WatchEntry[]; dropped?: number; reset?: { reason: string; }; } /** * `ready pr#747 fc5dce9`, or `blocked pr#747: `: the state, PR, and short head of a * report, then a blocked worker's question on one line, cut to 200 characters. */ export declare function describeReport(report: WatchReport): string; export declare function formatWaitResult(result: WatchResult, format: WatchFormat): string[]; export declare function formatNonEntry(kind: '_ok' | '_heartbeat' | '_error' | '_reconnected' | '_timeout' | '_expired', fields: Record, format: WatchFormat): string; export {}; //# sourceMappingURL=watchLines.d.ts.map