import type { WhookRequest, WhookHandler, WhookOperation, WhookResponse } from '@whook/http-transaction'; import type { Parameters } from 'knifecycle'; export type WhookBodySpec = { contentType: string; contentLength: number; charset: 'utf-8'; boundary?: string; }; export type WhookResponseSpec = { contentTypes: string[]; charsets: string[]; }; export declare function extractConsumableMediaTypes(operation: WhookOperation): string[]; export declare function extractProduceableMediaTypes(operation: WhookOperation): string[]; export declare function extractBodySpec(request: WhookRequest, consumableMediaTypes: string[], consumableCharsets: string[]): WhookBodySpec; export declare function checkBodyCharset(bodySpec: WhookBodySpec, consumableCharsets: string[]): void; export declare function checkBodyMediaType(bodySpec: WhookBodySpec, consumableMediaTypes: string[]): void; export declare function extractResponseSpec(operation: WhookOperation, request: WhookRequest, supportedMediaTypes: string[], supportedCharsets: string[]): WhookResponseSpec; export declare function checkResponseMediaType(request: WhookRequest, responseSpec: WhookResponseSpec, produceableMediaTypes: string[]): void; export declare function checkResponseCharset(request: WhookRequest, responseSpec: WhookResponseSpec, produceableCharsets: string[]): void; export declare function executeHandler(operation: WhookOperation, handler: WhookHandler, parameters: Parameters): Promise;