import { ConfigNote } from "./plugins";
import baseGeneralPrompts from "./constants/baseGeneralPrompts";
import type { DefaultOpts, GeneralPrompt, HandleGeneralPromptsCallback, ToolOpts } from "./types/toolOpts";
import type { TestplaneConfig, Language } from "./types/testplaneConfig";
import type { PluginsConfig } from "./types/pluginsConfig";
export type CreateBaseConfigOpts = {
    language: Language;
};
export type CreateOptsCallback = (defaultOpts: DefaultOpts) => ToolOpts;
export type CreateBaseConfigCallback = (defaultTestplaneConfig: TestplaneConfig, opts: CreateBaseConfigOpts) => TestplaneConfig;
export type CreatePluginsConfigCallback = (pluginsConfig: PluginsConfig) => PluginsConfig;
export type GetExtraPackagesToInstallCallback = () => {
    names: string[];
    notes: ConfigNote[];
};
export interface CreateTestplaneAppOpts {
    createBaseConfig?: CreateBaseConfigCallback;
    createOpts: CreateOptsCallback;
    generalPrompts?: GeneralPrompt[];
    generalPromptsHandler?: HandleGeneralPromptsCallback;
    createPluginsConfig?: CreatePluginsConfigCallback;
    getExtraPackagesToInstall?: GetExtraPackagesToInstallCallback;
    registry?: string;
}
export { askQuestion, defineVariable, addModule, asExpression } from "./utils";
export { baseGeneralPrompts };
export { defaultTestplaneTestsDir } from "./constants/defaultTestplaneConfig";
export declare const run: ({ createBaseConfig, createOpts, generalPrompts, generalPromptsHandler, createPluginsConfig, getExtraPackagesToInstall, registry, }: CreateTestplaneAppOpts) => Promise<void>;
declare const _default: {
    run: ({ createBaseConfig, createOpts, generalPrompts, generalPromptsHandler, createPluginsConfig, getExtraPackagesToInstall, registry, }: CreateTestplaneAppOpts) => Promise<void>;
    askQuestion: <T>(question: import("inquirer").DistinctQuestion<Record<string, T>>) => Promise<T>;
    baseGeneralPrompts: GeneralPrompt[];
};
export default _default;
export * from "./types";
