import { HttpController } from "../controller/base-controller"; import type { HttpMiddleware } from "../middleware"; import type { HttpContext } from "../server/http-context"; export type SwaggerUiAssetName = "swagger-ui.css" | "swagger-ui-bundle.js" | "swagger-ui-standalone-preset.js"; export interface SwaggerUiDocumentOptions { title: string; openApiPath?: string; assetBasePath?: string; } export interface SwaggerUiControllerOptions extends SwaggerUiDocumentOptions { enabled?: () => boolean; basicAuth?: BasicAuthOptions; } export interface BasicAuthOptions { username?: string; password?: string; realm?: string; } /** Same-origin Swagger UI controller with strict CSP and no persisted tokens. */ export declare class SwaggerUiController extends HttpController { private readonly options; constructor(options: SwaggerUiControllerOptions); routes(): import("..").RouteDefinition[]; renderDocs(ctx: HttpContext): import("..").HttpResponse | import("..").HttpResponse<{ message: string; }>; renderSwaggerCss(): Promise>>; renderSwaggerBundle(): Promise>>; renderSwaggerPreset(): Promise>>; renderInitializer(): import("..").HttpResponse; private renderAsset; } /** Protects app-defined documentation routes with Basic credentials. */ export declare function basicAuth(options: BasicAuthOptions): HttpMiddleware; export declare function createSwaggerUiDocument(options: SwaggerUiDocumentOptions): string; export declare function createSwaggerUiInitializer(openApiPath?: string): string; export declare function readSwaggerUiAsset(asset: SwaggerUiAssetName): Promise;