import { AutoBeOpenApi, AutoBeProgressEventBase, AutoBeTestAuthorizeFunction, AutoBeTestValidateEvent, IAutoBeCompiler } from "@autobe/interface";
import { IValidation } from "typia";
import { IAutoBeTestArtifacts } from "../structures/IAutoBeTestArtifacts";
import { IAutoBeTestAuthorizeProcedure } from "../structures/IAutoBeTestAuthorizeWriteResult";
export declare namespace AutoBeTestAuthorizeProgrammer {
    function size(document: AutoBeOpenApi.IDocument): number;
    function getFunctionName(operation: AutoBeOpenApi.IOperation): string;
    function writeTemplate(props: {
        operation: AutoBeOpenApi.IOperation;
        schema: AutoBeOpenApi.IJsonSchema.IObject;
    }): string;
    function compile(props: {
        compiler: IAutoBeCompiler;
        procedure: IAutoBeTestAuthorizeProcedure;
        progress: AutoBeProgressEventBase;
        step: number;
    }): Promise<AutoBeTestValidateEvent<AutoBeTestAuthorizeFunction>>;
    function replaceImportStatements(props: {
        compiler: IAutoBeCompiler;
        artifacts: IAutoBeTestArtifacts;
        content: string;
    }): Promise<string>;
    function validate(props: {
        procedure: IAutoBeTestAuthorizeProcedure;
        draft: string;
        revise: {
            final: string | null;
        };
    }): IValidation.IError[];
}
