import CDP from "chrome-remote-interface"; export type GroupState = "idle" | "weaving" | "stuck"; interface AgentStateCallbacks { onStateChange: (session: CDP.Client | null, state: GroupState, word?: string) => void; onUpdateTabTitle: (session: CDP.Client, state: GroupState) => void; } declare class AgentStateManager { private state; private word; private idleTimeoutMs; private idleTimer; private callbacks; private session; private errorStreak; constructor(idleTimeoutMs?: number); setCallbacks(cb: AgentStateCallbacks): void; setSession(session: CDP.Client): void; getSession(): CDP.Client | null; setIdleTimeout(ms: number): void; reportToolCall(): void; reportToolSuccess(): void; reportToolError(): void; reportStuck(word: string): void; reportDone(): void; reportTransportClosed(): void; getState(): { state: GroupState; word: string; }; isStuck(): boolean; resetErrorStreak(): void; private transition; private startIdleTimer; private clearIdleTimer; } export declare const agentState: AgentStateManager; export {};