import type { Tool } from './Registry.js'; export declare class AskUserManager { private static pendings; /** * Prompts the user and waits for their response. * This suspends the execution until the user replies. */ static ask(sessionKey: string, question: string, options: string[] | undefined, askCallback: (q: string, o?: string[]) => void): Promise; /** * Checks if a session is currently waiting for a user answer */ static isWaiting(sessionKey: string): boolean; /** * Provides the answer to the pending question and resumes execution */ static submitAnswer(sessionKey: string, answer: string): boolean; /** * Abandons the pending question so the waiting tool call unwinds with an error. * Without this the only way out of an ask is to answer it — /cancel and every other * command get swallowed as the answer text, which strands the session. */ static cancel(sessionKey: string, reason?: string): boolean; } export declare let globalAskCallback: (sessionKey: string, question: string, options?: string[]) => void; export declare function setGlobalAskCallback(cb: (sessionKey: string, question: string, options?: string[]) => void): void; export declare const askUserTool: Tool; export declare const askInputUserTool: Tool; //# sourceMappingURL=AskUser.d.ts.map