type JsonObject = Record; export declare enum OpenApiParameterLocation { Path = "path", Query = "query", Header = "header", Cookie = "cookie" } export interface OpenApiParameterMeta { readonly name: string; readonly in: OpenApiParameterLocation; readonly required: boolean; readonly description: string | null; readonly schema: JsonObject | null; } export interface OpenApiRequestBodyMeta { readonly required: boolean; readonly contentType: string; readonly schema: JsonObject | null; } export interface OpenApiOperationIo { readonly parameters: readonly OpenApiParameterMeta[]; readonly requestBody: OpenApiRequestBodyMeta | null; } export declare function isInvocableHttpMethod(method: string): boolean; export declare function resolveComponentRef(value: T, components: JsonObject): T; export declare function mergeOperationParameters(pathItemParameters: unknown, operationParameters: unknown, components: JsonObject): OpenApiParameterMeta[]; export declare function parseOperationRequestBody(requestBody: unknown, components: JsonObject): OpenApiRequestBodyMeta | null; export declare function extractOperationIo(operation: JsonObject, pathItemParameters: unknown, components: JsonObject): OpenApiOperationIo; export declare function extractOperationOutputSchema(operation: JsonObject, components: JsonObject): JsonObject | null; export declare const OPERATION_INPUT_BODY_PROPERTY = "body"; export interface BuildOperationInputSchemaOptions { readonly omitParameter?: (parameter: OpenApiParameterMeta) => boolean; readonly flattenBody?: boolean; } export declare enum OperationBodyPlacement { None = "none", Property = "property", Flattened = "flattened" } export interface OperationInput { readonly schema: JsonObject; readonly bodyPlacement: OperationBodyPlacement; } export declare function buildOperationInput(io: OpenApiOperationIo, options?: BuildOperationInputSchemaOptions): OperationInput; export declare function buildOperationInputSchema(io: OpenApiOperationIo, options?: BuildOperationInputSchemaOptions): JsonObject; export {}; //# sourceMappingURL=operation-io.d.ts.map