import { type Blaze } from '../server'; import { type JSONSchemaType } from '../utils'; export declare class Swagger { private readonly options; private readonly swaggerUiAssetPath; private readonly document; constructor(httpServer: Blaze, info: Swagger.Info, options: Swagger.Options); updateSwaggerDoc(method: string, routePath: string, swaggerData: Swagger.EndpointConfig): void; private formatSwaggerPath; private updateDocumentPaths; private writeDocumentToFile; private setCorsHeaders; private readonly serveSwaggerStaticFiles; private readonly serveSwaggerDocs; } export declare namespace Swagger { type Info = { description: string; version: string; title: string; termsOfService: string; contact: { email: string; }; license: { name: string; url: string; }; }; type Document = { 'openapi': '3.0.0'; 'info': any; 'components': { 'securitySchemes': { 'BearerAuth': { 'type': 'http'; 'scheme': 'bearer'; 'bearerFormat': 'JWT'; }; }; }; 'schemes': [ 'https', 'http' ]; 'paths': any; }; type Options = { path: string; port: number; }; type RouteParam = { name: string; in: 'path' | 'query' | 'header' | 'cookie'; description?: string; required?: boolean; type: JSONSchemaType; example?: string | number | boolean | object | []; }; type EndpointConfig = { summary: string; tags?: string[]; deprecated?: boolean; authentication?: boolean; operationId?: string; input?: object; output?: object; statusCode?: number; contentType?: string; routeParams?: RouteParam[]; }; }