/** Helpers for mid-turn user steering via OpenCode prompt_async. */ export type OpencodeSessionMessage = { info?: { id?: string; role?: string; }; parts?: Array<{ type?: string; text?: string; state?: { status?: string; }; }>; }; export declare function normalizeSteeringContent(content: string): string; export declare function midTurnSteeringKey(id: string | undefined, content: string): string; export declare function extractUserMessageText(msg: OpencodeSessionMessage): string; /** True when an assistant message after the matching user text has substantive output. */ export declare function userMessageHasAssistantReply(messages: OpencodeSessionMessage[], userContent: string): boolean; export declare function fetchOpencodeSessionMessages(attachUrl: string, opencodeSessionId: string, cwd?: string): Promise; /** * After a turn ends, re-queue mid-turn steering messages that prompt_async accepted * but OpenCode never answered (e.g. blocked on long-running bash). */ export declare function releaseUnansweredMidTurnMessages(attachUrl: string, opencodeSessionId: string, midTurnInjected: Map, queue: string[], wake: () => void, sidecarAnsweredKeys?: Set): Promise;