type EmbeddedPiQueueHandle = { queueMessage: (text: string) => Promise; isStreaming: () => boolean; isCompacting: () => boolean; /** * True once the run has been aborted (user interrupt / timeout). An * aborted run is unwinding: its agent loop will never drain the steering * queue again, so steering into it silently drops the message. Callers * must treat an aborted run as not steerable. */ isAborted?: () => boolean; abort: () => void; }; export declare function queueEmbeddedPiMessage(sessionId: string, text: string): boolean; export declare function abortEmbeddedPiRun(sessionId: string): boolean; /** * THE BIG RED BUTTON, run edition: a spoken "stop" must halt the MISSION, * not just the in-flight batch — on 2026-07-17 stop signals aborted batches * while the agent loop marched on to the next step. Aborts every active * non-probe run; returns how many were aborted. */ export declare function abortAllEmbeddedPiRuns(reason: string): number; export declare function isEmbeddedPiRunActive(sessionId: string): boolean; export declare function isEmbeddedPiRunStreaming(sessionId: string): boolean; export declare function waitForEmbeddedPiRunEnd(sessionId: string, timeoutMs?: number): Promise; export declare function setActiveEmbeddedRun(sessionId: string, handle: EmbeddedPiQueueHandle): void; export declare function clearActiveEmbeddedRun(sessionId: string, handle: EmbeddedPiQueueHandle): void; export type { EmbeddedPiQueueHandle };