/** * Ask User Simple Tool - Single question with simple string options * * A simplified version of ask_user for single questions with string options. * Preferred over ask_user when you only need to ask one simple question. * * Features: * - Single question * - Simple string options (no value/label distinction) * - Default value support * - Factory function for custom implementations */ import type { Tool } from '../types.js'; /** * Input parameters for ask_user_simple tool */ export interface AskUserSimpleInput { /** The question to ask */ question: string; /** Simple string options to choose from */ options: string[]; /** Default value if user skips (optional) */ default?: string; } /** * Result from ask_user_simple tool */ export interface AskUserSimpleResult { /** The selected answer */ answer: string; /** Whether the default was used */ usedDefault?: boolean; } /** * Options for creating custom ask_user_simple tool */ export interface AskUserSimpleToolOptions { /** * Custom handler for asking the question. * If not provided, uses readline-based implementation. */ onAsk?: (question: string, options: string[], defaultValue?: string) => Promise; } /** * Default ask_user_simple tool using readline for basic CLI interaction. * Use createAskUserSimpleTool() for custom implementations. */ export declare const askUserSimpleTool: Tool; /** * Create a custom ask_user_simple tool with your own UI implementation. * * @example * ```typescript * const customAskSimple = createAskUserSimpleTool({ * onAsk: async (question, options, defaultValue) => { * // Show fancy UI overlay * const overlay = new AskUserSimpleOverlay({ question, options, defaultValue }); * return await ui.showOverlay(overlay); * } * }); * agent.registerTool(customAskSimple); * ``` */ export declare function createAskUserSimpleTool(options?: AskUserSimpleToolOptions): Tool;