import type { Command as Program } from 'commander'; /** * Commander option bag for opting out of every interactive question. * * @private internal utility of `promptbookCli` */ export type QuestionsCliOptions = { readonly questions: boolean; }; /** * Normalized interactive-questions option shared by every `ptbk coder` command which can ask something. * * @private internal utility of `promptbookCli` */ export type NormalizedQuestionsCliOptions = { readonly isAskingQuestionsEnabled: boolean; }; /** * Description block shared by the `ptbk coder` commands which can ask interactive questions. * * @private internal utility of `promptbookCli` */ export declare const QUESTIONS_DESCRIPTION: string; /** * Registers the shared `--no-questions` option on a `ptbk coder` command which can ask interactive questions. * * @private internal utility of `promptbookCli` */ export declare function addQuestionsOption(command: Program): void; /** * Converts the Commander questions flag into the normalized interactive-questions option. * * @private internal utility of `promptbookCli` */ export declare function normalizeQuestionsCliOptions(cliOptions: QuestionsCliOptions): NormalizedQuestionsCliOptions; /** * Asserts that a command which waits for a user confirmation before each prompt is allowed to ask for it. * * @throws {NotAllowed} when `--no-auto` is combined with `--no-questions` * @private internal utility of `promptbookCli` */ export declare function assertUserConfirmationIsAllowed(options: { readonly isAskingQuestionsEnabled: boolean; readonly isWaitingForUser: boolean; }): void;