/** Default watchdog thresholds, mirrored from the Swarmify VS Code runtime. */
export declare const WATCHDOG_TAIL_LINES = 20;
export declare const WATCHDOG_STALL_MS = 300000;
export declare const WATCHDOG_COOLDOWN_MS = 1200000;
export declare const WATCHDOG_DORMANT_MS = 3600000;
/**
 * Read the last `maxLines` non-empty lines of a JSONL transcript by seeking
 * backward from EOF in 64KB chunks. A tail that begins mid-line yields one
 * malformed leading line, which the callers' per-line JSON try/catch tolerates.
 * Returns `[]` on any read error or empty file.
 */
export declare function readTailLines(filePath: string, maxLines: number): string[];
/**
 * Given candidate transcript-root directories, find the transcript file for a
 * session. Handles the flat Claude layout (`<sessionId>.jsonl` inside a
 * per-project `<enc>/` subfolder), Codex-style names that merely embed the uuid
 * (`rollout-…-<sessionId>.jsonl`), and — critically — the DEEP date partitions
 * Codex/Droid use (`sessions/YYYY/MM/DD/rollout-…-<uuid>.jsonl`). The scan is
 * fully recursive via `walkForFiles` (the same walker session/discover.ts uses),
 * so no fixed number of subdir levels is assumed — a hand-rolled one-level scan
 * silently missed every Codex transcript. Newest mtime wins when a uuid appears
 * in more than one root (e.g. across version homes). Pure over its `dirs`
 * argument, so it is testable without touching the real home directory.
 */
export declare function findSessionJsonlIn(dirs: string[], sessionId: string, ext?: string): string | undefined;
/**
 * Resolve a session transcript path from its id + agent, reusing the CLI's
 * per-version transcript roots. Returns `undefined` if no transcript is found.
 */
export declare function resolveWatchdogSessionPath(sessionId: string, agent: string): string | undefined;
/**
 * Read the last `maxLines` JSONL lines for a session by id + agent. Returns
 * `[]` when the transcript cannot be located or read.
 */
export declare function readWatchdogTail(sessionId: string, agent: string, maxLines?: number): string[];
