import type { SubagentObserver } from "#src/observer"; import type { DurableTracker } from "#src/tracker"; /** * Polls status files from all living children and merges data into tracker records. */ export declare class StatusPoller { private tracker; private observer?; private intervalMs; private timer; private offsetCache; /** Offset tracking for hooks-audit files (cmd harness tool visibility). */ private hooksAuditOffsetCache; /** Maps agentId → warnings already logged */ private missingFileWarnings; constructor(tracker: DurableTracker, observer?: SubagentObserver | undefined, intervalMs?: number); /** Start the polling loop. */ start(): void; /** Stop the polling loop. */ stop(): void; /** Check if the poller is currently running. */ get running(): boolean; /** * Public setter for interval (stops/restarts if running). */ setInterval(ms: number): void; private poll; private pollAgent; /** * Read only new lines since the last poll. * Uses cached byte offset for efficiency. */ private readNewLines; /** * Apply a parsed status file event to the tracker record. */ private applyEvent; /** * Poll a hooks-audit file for tool execution events (cmd harness). * * The hooks-audit file is written by cmd's hook system and contains * PreToolUse / PostToolUse events with toolName, toolUseId, timestamps. */ private pollHooksAudit; /** * Clean up a status file after the agent reaches a terminal state. * Reads any remaining lines, then deletes the file. */ cleanupAgent(agentId: string): void; } //# sourceMappingURL=status-poller.d.ts.map