import type { InquirerPrompt } from "../utils/inquirer"; import type { TestplaneConfig, Language } from "./testplaneConfig"; export interface PluginPrompt { plugin: string; description: string; default: boolean; configNote?: string; } export interface PluginGroup { description: string; plugins: PluginPrompt[]; } export type GeneralPrompt = InquirerPrompt & { name: string; default?: unknown | unknown[]; }; export interface Answers extends Record { _path: string; _language: Language; } export type HandleGeneralPromptsCallback = (testplaneConfig: TestplaneConfig, answers: Answers) => Promise | TestplaneConfig; export interface ArgvOpts { path: string; language: Language; extraQuestions: boolean; } export interface DefaultOpts { language: Language; pluginGroups: PluginGroup[]; } export type ToolOpts = ArgvOpts & DefaultOpts;