/**
 * @fileoverview Step functions for CLI actions.
 * Each step is an independent, reusable function that performs a specific task.
 * Steps return any data needed by subsequent steps or the calling action.
 */
import type ConfigFile from './types';
import type { LocalTestset, LocalSolution } from './types';
export declare function stepCreateDirectoryStructure(stepNum: number, directory: string): void;
export declare function stepCopyTemplateFiles(stepNum: number, directory: string): void;
export declare function stepDownloadTestlib(stepNum: number): Promise<string>;
export declare function stepSaveTestlibToDirectory(stepNum: number, testlibContent: string): void;
export declare function stepValidateConfigForValidator(stepNum: number, config: ConfigFile): void;
export declare function stepCompileValidator(stepNum: number, config: ConfigFile): Promise<void>;
export declare function stepValidateAllTestsets(stepNum: number, config: ConfigFile): Promise<void>;
export declare function stepValidateSingleTest(stepNum: number, config: ConfigFile, testsetName: string, testIndex: number): Promise<void>;
export declare function stepValidateGroup(stepNum: number, config: ConfigFile, testset: LocalTestset, groupName: string): Promise<void>;
export declare function stepValidateTestset(stepNum: number, config: ConfigFile, testsetName: string): Promise<void>;
export declare function stepValidateConfigForGeneration(stepNum: number, config: ConfigFile): void;
export declare function stepCompileGeneratorsForTestsets(stepNum: number, config: ConfigFile): Promise<void>;
export declare function stepGenerateAllTestsets(stepNum: number, config: ConfigFile): Promise<void>;
export declare function stepCompileGeneratorsForSingleTest(stepNum: number, config: ConfigFile, testset: LocalTestset, testIndex: number): Promise<void>;
export declare function stepGenerateSingleTest(stepNum: number, config: ConfigFile, testset: LocalTestset, testIndex: number): Promise<void>;
export declare function stepCompileGeneratorsForGroup(stepNum: number, config: ConfigFile, testset: LocalTestset, groupName: string): Promise<void>;
export declare function stepGenerateTestsForGroup(stepNum: number, config: ConfigFile, testset: LocalTestset, groupName: string): Promise<void>;
export declare function stepCompileGeneratorsForTestset(stepNum: number, config: ConfigFile, testset: LocalTestset): Promise<void>;
export declare function stepGenerateTestsForTestset(stepNum: number, config: ConfigFile, testset: LocalTestset): Promise<void>;
export declare function stepValidateConfigForSolutions(stepNum: number, config: ConfigFile, matchingSolutions: LocalSolution[]): void;
export declare function stepCompileSolutions(stepNum: number, solutions: LocalSolution[]): Promise<void>;
export declare function stepRunSolutionsOnAllTestsets(stepNum: number, config: ConfigFile, solutions: LocalSolution[]): Promise<void>;
export declare function stepRunSolutionsOnTestset(stepNum: number, config: ConfigFile, solutions: LocalSolution[], testsetName: string): Promise<void>;
export declare function stepRunSolutionsOnTest(stepNum: number, config: ConfigFile, solutions: LocalSolution[], testsetName: string, testIndex: number): Promise<void>;
export declare function stepRunSolutionsOnGroup(stepNum: number, config: ConfigFile, solutions: LocalSolution[], testset: LocalTestset, groupName: string): Promise<void>;
export declare function stepCompileChecker(stepNum: number, config: ConfigFile): Promise<void>;
export declare function stepValidateConfigForChecker(stepNum: number, config: ConfigFile): void;
export declare function stepTestChecker(stepNum: number): Promise<void>;
export declare function stepValidateConfigForSolutionTest(stepNum: number, what: string): {
    mainSolution: LocalSolution;
    targetSolution: LocalSolution;
};
export declare function stepTestSolutionBehavior(stepNum: number, solutionName: string): Promise<void>;
export declare function stepGenerateTestsForVerification(stepNum: number, config: ConfigFile): Promise<void>;
export declare function stepTestValidator(stepNum: number): Promise<void>;
export declare function stepValidateGeneratedTests(stepNum: number, config: ConfigFile): Promise<void>;
export declare function stepCompileSolutionsForVerification(stepNum: number, config: ConfigFile): Promise<void>;
export declare function stepRunSolutionsForVerification(stepNum: number, config: ConfigFile): Promise<void>;
export declare function stepVerifySolutionsAgainstMainCorrect(stepNum: number, config: ConfigFile): Promise<void>;
//# sourceMappingURL=steps.d.ts.map