import { AutoBeOpenApi, AutoBeProgressEventBase, AutoBeTestGenerateFunction, AutoBeTestPrepareFunction, AutoBeTestValidateEvent, IAutoBeCompiler } from "@autobe/interface";
import { IValidation } from "typia";
import { IAutoBeTestArtifacts } from "../structures/IAutoBeTestArtifacts";
import { IAutoBeTestGenerateProcedure } from "../structures/IAutoBeTestGenerateProcedure";
export declare namespace AutoBeTestGenerateProgrammer {
    function is(document: AutoBeOpenApi.IDocument, operation: AutoBeOpenApi.IOperation): boolean;
    function size(document: AutoBeOpenApi.IDocument): number;
    function getFunctionName(operation: AutoBeOpenApi.IOperation): string;
    function writeTemplateCode(props: {
        operation: AutoBeOpenApi.IOperation;
        prepare: AutoBeTestPrepareFunction;
    }): string;
    function compile(props: {
        compiler: IAutoBeCompiler;
        procedure: IAutoBeTestGenerateProcedure;
        progress: AutoBeProgressEventBase;
        step: number;
    }): Promise<AutoBeTestValidateEvent<AutoBeTestGenerateFunction>>;
    function replaceImportStatements(props: {
        compiler: IAutoBeCompiler;
        artifacts: IAutoBeTestArtifacts;
        prepare: AutoBeTestPrepareFunction;
        location: string;
        content: string;
    }): Promise<string>;
    function validate(props: {
        procedure: IAutoBeTestGenerateProcedure;
        draft: string;
        revise: {
            final: string | null;
        };
    }): IValidation.IError[];
}
