import { MiddlewareRegistry } from "../MiddlewareRegistry"; import { AppConfig } from "../../model/AppConfig"; import { LogFactory } from "../../util/logging/LogFactory"; export type OpenApiFormat = "json" | "yml"; export declare class OpenApiGenerator { private readonly appConfig; private readonly middlewareRegistry; private static readonly ENDPOINTS; private static readonly AUTH_FILTERS; private static readonly OPEN_API_TYPES; private static readonly OPEN_API_SCHEMA_TYPE_MAP; private static readonly OPEN_API_TYPE_EXAMPLES; private static readonly FORBIDDEN_HEADER_PARAMS; private static readonly VALID_PATH_PARAM_STYLES; private static readonly VALID_QUERY_OBJECT_PARAM_STYLES; private readonly logger; constructor(appConfig: AppConfig, middlewareRegistry: MiddlewareRegistry, logFactory: LogFactory); buildOpenApiSpec(): import("openapi3-ts/oas31").OpenAPIObject; exportOpenApiSpec(format?: OpenApiFormat): Promise; private generateApiOpenApiSpecBuilder; private discoverSecuritySchemes; private discoverTagsAndPaths; private addTagIfPresent; private addEndpoint; private setRequestInfo; private setEndpointRequestContentType; private addEndpointOperationInfo; private setEndpointResponseContentType; private getPrimitiveTypeSchema; private getPrimitiveTypeExample; private addPrimitiveArrayInfoToSchema; private addClassToMediaTypeObject; private addObjectPropertiesToSchema; private addArrayToSchema; private getTypeOfInstanceProperty; private getInstanceType; private addParametersToEndpoint; private addEndpointParameterInfo; private setParamValueStyle; }