import { Observable } from 'rxjs'; import type { InquirerReadline } from '@inquirer/type'; import type { Answers, PromptSession, StreamOptions } from '../types.ts'; export declare const _: { set: (obj: Record, path: string | undefined, value: unknown) => void; get: (obj: object, path?: string | number | symbol, defaultValue?: unknown) => any; }; export interface PromptBase { /** * Runs the prompt. * * @returns * The result of the prompt. */ run(): Promise; } /** * Provides the functionality to initialize new prompts. */ export interface LegacyPromptConstructor { /** * Initializes a new instance of a prompt. * * @param question * The question to prompt. * * @param readLine * An object for reading from the command-line. * * @param answers * The answers provided by the user. */ new (question: any, readLine: InquirerReadline, answers: Record): PromptBase; } export type PromptFn = (config: Config, context: StreamOptions & { signal: AbortSignal; }) => Promise; /** * Provides a set of prompt-constructors. */ export type PromptCollection = Record; /** * Base interface class other can inherits from */ export default class PromptsRunner { private prompts; answers: Partial; process: Observable; private abortController; private opt; constructor(prompts: PromptCollection, opt?: StreamOptions); run(questions: PromptSession, answers?: Partial): Promise; private prepareQuestion; private fetchAnswer; /** * Close the interface and cleanup listeners */ close: () => void; private shouldRun; }