import type { Schema } from "../../../extensions/schema/index.js"; import type { JsonSchema } from "../../../tool/schema/index.js"; import type { AppRouteHandler } from "../module-loader/types.js"; export declare const OPENAPI_METADATA: unique symbol; export interface OpenAPIRouteConfig { summary?: string; description?: string; tags?: string[]; params?: TParams; query?: TQuery; body?: TBody; response?: Record; deprecated?: boolean; handler: AppRouteHandler; } export interface OpenAPIRouteMetadata { summary?: string; description?: string; tags?: string[]; deprecated?: boolean; params?: JsonSchema; query?: JsonSchema; body?: JsonSchema; responses?: Record; } export interface WrappedHandler extends AppRouteHandler { [OPENAPI_METADATA]?: OpenAPIRouteMetadata; } export interface OpenAPISpec { openapi: "3.1.0"; info: OpenAPIInfo; paths: Record; tags?: OpenAPITag[]; servers?: OpenAPIServer[]; } interface OpenAPIInfo { title: string; version: string; description?: string; } interface OpenAPITag { name: string; description?: string; } interface OpenAPIServer { url: string; description?: string; } export interface OpenAPIPathItem { get?: OpenAPIOperation; post?: OpenAPIOperation; put?: OpenAPIOperation; patch?: OpenAPIOperation; delete?: OpenAPIOperation; head?: OpenAPIOperation; options?: OpenAPIOperation; } export interface OpenAPIOperation { summary?: string; description?: string; tags?: string[]; operationId?: string; parameters?: OpenAPIParameter[]; requestBody?: OpenAPIRequestBody; responses: Record; deprecated?: boolean; } export interface OpenAPIParameter { name: string; in: "path" | "query" | "header" | "cookie"; required?: boolean; description?: string; schema: JsonSchema; } interface OpenAPIRequestBody { required?: boolean; description?: string; content: { "application/json"?: { schema: JsonSchema; }; }; } interface OpenAPIResponse { description: string; content?: { "application/json"?: { schema: JsonSchema; }; }; } export declare function getDefaultStatusDescription(statusCode: number): string; export {}; //# sourceMappingURL=types.d.ts.map