import { AutoBeOpenApi, AutoBeProgressEventBase, AutoBeTestAuthorizeFunction, AutoBeTestGenerateFunction, AutoBeTestOperationFunction, AutoBeTestPrepareFunction, AutoBeTestScenario, AutoBeTestValidateEvent, IAutoBeCompiler } from "@autobe/interface";
import { IValidation } from "typia";
import { IAutoBeTestArtifacts } from "../structures/IAutoBeTestArtifacts";
import { IAutoBeTestOperationProcedure } from "../structures/IAutoBeTestOperationProcedure";
export declare namespace AutoBeTestOperationProgrammer {
    function writeTemplateCode(scenario: AutoBeTestScenario): string;
    function compile(props: {
        compiler: IAutoBeCompiler;
        document: AutoBeOpenApi.IDocument;
        procedure: IAutoBeTestOperationProcedure;
        progress: AutoBeProgressEventBase;
        step: number;
    }): Promise<AutoBeTestValidateEvent<AutoBeTestOperationFunction>>;
    function replaceImportStatements(props: {
        compiler: IAutoBeCompiler;
        artifacts: IAutoBeTestArtifacts;
        prepares: AutoBeTestPrepareFunction[];
        generates: AutoBeTestGenerateFunction[];
        authorizes: AutoBeTestAuthorizeFunction[];
        location: string;
        content: string;
    }): Promise<string>;
    function validate(props: {
        procedure: IAutoBeTestOperationProcedure;
        draft: string;
        revise: {
            final: string | null;
        };
    }): IValidation.IError[];
}
