export interface OpenApiServerDescriptor { url: string; description?: string; variables?: Record; } export interface OpenApiTransformerTransformOptions { extractSchemas?: "none" | "named" | "all"; schemaNameStrategy?: "hash" | "path" | "increment"; statusTextOverrides?: Record; ignoreRoutes?: (string | RegExp)[] | ((path: string) => boolean); } type SecurityOAuthFlows = { implicit: { authorizationUrl: string; refreshUrl?: string; scopes: Record; }; password: { tokenUrl: string; refreshUrl?: string; scopes: Record; }; clientCredentials: { tokenUrl: string; refreshUrl?: string; scopes: Record; }; authorizationCode: { authorizationUrl: string; refreshUrl?: string; tokenUrl?: string; scopes: Record; }; }; export type SecuritySchemaDescriptor = ({ type: "http"; scheme: "basic"; } | { type: "http"; scheme: "bearer"; bearerFormat?: string; } | { type: "apiKey"; name: string; in: "header"; } | { type: "apiKey"; name: string; in: "query"; } | { type: "apiKey"; name: string; in: "cookie"; } | { type: "oauth2"; flows: SecurityOAuthFlows; } | { type: "openIdConnect"; openIdConnectUrl: string; }) & { description?: string; }; export interface OpenApiTransformerInfoOptions { title: string; description: string; servers: OpenApiServerDescriptor[]; termsOfService: string; contact: Partial<{ name: string; url: string; email: string; }>; license: { name: string; url?: string; }; version: string; securitySchemas?: Record; security?: Record[] | Record | string[] | string | null; } export declare namespace OpenApiTransformerNS { abstract class AbstractException { abstract __$name?: string; abstract __$description?: string; abstract __$headers?: Record; abstract code: number; abstract name: string; abstract message: string; } abstract class AbstractSigilResponse { abstract __$schemaName?: string; abstract code: number; abstract headers: Record; abstract content: any; } type ResponseTemplateCallback = (content: any, error: any) => { headers: Record; code: number; content: string | Buffer; }; type BuildContext = { options: Omit & { responseTemplate: any; nameStrategy?: string; }; anonCount: number; byHash: Map; components: { schemas: Record; responses: Record; securitySchemes?: Record; }; }; interface AnyConvertedSchema { type?: string; properties?: AnyConvertedSchema; [key: string]: any; } type FlatRequestSchema = Partial<{ body: Record; headers: Record; query: Record; params: Record; }>; type RequestMetadataDescriptor = { description: string; responses: Array; example: any; deprecated: boolean; externalDocs: { description: string; url: string; }; }; interface ExportedRouteDetails { method: string; path: string; schema: FlatRequestSchema; tags: string[]; meta: Partial; } } export {};