import { AutoBeAnalyze, AutoBeInterfaceEndpointDesign } from "@autobe/interface";
import { ILlmApplication, IValidation } from "typia";
export declare namespace AutoBeInterfaceEndpointProgrammer {
    /**
     * Filter endpoint designs:
     *
     * - For base: Remove guest actors and login/join/refresh/session
     *   authorizationType
     * - For action: Remove all non-null authorizationType (action endpoints must be
     *   null only)
     */
    const filter: (props: {
        kind: "base" | "action";
        design: AutoBeInterfaceEndpointDesign;
        actors: AutoBeAnalyze.IActor[];
    }) => boolean;
    const fixDesign: (props: {
        actors: AutoBeAnalyze.IActor[];
        design: AutoBeInterfaceEndpointDesign;
    }) => AutoBeInterfaceEndpointDesign;
    const fixPath: (path: string) => string;
    const fixApplication: (props: {
        application: ILlmApplication;
        actors: AutoBeAnalyze.IActor[];
    }) => void;
    const validateDesign: (props: {
        design: AutoBeInterfaceEndpointDesign;
        actors: AutoBeAnalyze.IActor[];
        path: string;
        errors: IValidation.IError[];
    }) => void;
}
