import { AutoBeDatabase, AutoBeInterfaceSchemaDesign, AutoBeOpenApi } from "@autobe/interface";
import { AutoBeJsonSchemaCollection } from "./AutoBeJsonSchemaCollection";
export declare namespace AutoBeJsonSchemaFactory {
    const presets: (typeNames: Set<string>) => Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>;
    const fixPaginationSchemas: (schemas: Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>) => void;
    const fixAuthorizationSchemas: (schemas: Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>) => void;
    const finalize: (props: {
        application: AutoBeDatabase.IApplication;
        operations: AutoBeOpenApi.IOperation[];
        collection: AutoBeJsonSchemaCollection;
    }) => void;
    const removeUnused: (props: {
        operations: AutoBeOpenApi.IOperation[];
        schemas: Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>;
    }) => void;
    const writePageSchema: (key: string) => AutoBeOpenApi.IJsonSchemaDescriptive.IObject;
    const getPageName: (key: string) => string;
    const DEFAULT_SCHEMAS: Record<string, AutoBeOpenApi.IJsonSchemaDescriptive>;
    const fixDesign: (design: AutoBeInterfaceSchemaDesign) => AutoBeOpenApi.IJsonSchema;
    const fixSchema: <Schema extends AutoBeOpenApi.IJsonSchema>(schema: Schema) => Schema;
}
