import Ajv from 'ajv'; import type { ValidateFunction } from 'ajv'; import type { SupportedSecurityScheme } from './openAPIUtils.js'; import type { OpenAPIV3_1 } from 'openapi-types'; import type { DereferencedParameterObject, WhookOperation, WhookHeaders } from '@whook/http-transaction'; import type { JsonValue } from 'type-fest'; export declare function applyValidators(operation: WhookOperation, validators: { [name: string]: ValidateFunction; }, parameters: JsonValue[]): void; export declare function prepareBodyValidator(ajv: Ajv.default, operation: WhookOperation): (operation: WhookOperation, contentType: string, value: unknown) => void; export declare function extractOperationSecurityParameters(openAPI: OpenAPIV3_1.Document, operation: WhookOperation): DereferencedParameterObject[]; export declare function extractParametersFromSecuritySchemes(securitySchemes: (SupportedSecurityScheme | OpenAPIV3_1.OpenIdSecurityScheme)[]): DereferencedParameterObject[]; export declare function prepareParametersValidators(ajv: Ajv.default, operationId: string, parameters: DereferencedParameterObject[]): { [name: string]: ValidateFunction; }; export declare function _validateParameter(parameter: DereferencedParameterObject, validator: ValidateFunction, value: unknown): void; export declare function filterHeaders(parameters: DereferencedParameterObject[], headers: WhookHeaders): WhookHeaders; export declare function castParameters(parameters: DereferencedParameterObject[], values: WhookHeaders): Record; export declare function castSchemaValue(schema: DereferencedParameterObject['schema'], value: string | string[]): T | undefined;