import { TAnyFixme } from "./fixme.js"; export type TPrompt = { id: string; message: string; context?: TAnyFixme; options?: string[]; }; export interface IPrompter { prompt(prompt: TPrompt): Promise; cancel(id: string, reason?: string): void; resolve(id: string, value: TPromptResponse): void; } export type TPromptResponse = string | object | undefined; export declare class Prompter { /** * Map of outstanding prompts by ID. Each prompt is managed independently and can be resolved or cancelled by ID. */ private outstandingPrompts; private subscribers; private readonly defaultPrompter; constructor(subscribers?: IPrompter[]); subscribe(p: IPrompter): void; unsubscribe(p: IPrompter): void; prompt(prompt: TPrompt): Promise; cancel(id: string, reason?: string): void; resolve(id: string, value: TPromptResponse): void; getDefaultPrompter(): IPrompter; } export declare function makePrompt(message: string, context?: TAnyFixme, options?: string[]): TPrompt; //# sourceMappingURL=prompter.d.ts.map