import { Promisable } from "type-fest"; import { Status } from "../utils/status.js"; export declare type OutgoingJsonRequestDefault

= { readonly parameters: P; } & OutgoingJsonContainer; export declare type OutgoingJsonRequest

= { readonly parameters: P; readonly contentType: C; } & OutgoingJsonContainer; export declare type OutgoingJsonResponseDefault = { readonly status: S; readonly parameters: P; } & OutgoingJsonContainer; export declare type OutgoingJsonResponse = { readonly status: S; readonly parameters: P; readonly contentType: C; } & OutgoingJsonContainer; export declare type IncomingJsonRequest

= { readonly parameters: P; readonly contentType: C; } & IncomingJsonContainer; export declare type IncomingJsonResponse = { readonly status: S; readonly parameters: P; readonly contentType: C; } & IncomingJsonContainer; export declare type OutgoingJsonContainer = { stream(signal?: AbortSignal): AsyncIterable; } | { entity(): Promisable; } | { entities(signal?: AbortSignal): AsyncIterable; }; export declare type IncomingJsonContainer = { stream(signal?: AbortSignal): AsyncIterable; } & { entity(): Promisable; } & { entities(signal?: AbortSignal): AsyncIterable; }; export declare function serializeOutgoingJsonContainer(container: OutgoingJsonContainer, mapError?: (error: Error) => Error): (signal?: AbortSignal | undefined) => AsyncIterable; export declare function deserializeIncomingJsonContainer(stream: (signal?: AbortSignal) => AsyncIterable, mapError?: (error: Error) => Error): { stream: (signal?: AbortSignal | undefined) => AsyncIterable; entity(): Promise; entities(signal?: AbortSignal | undefined): AsyncIterable; }; export declare function serializeJsonEntity(value: Promisable): AsyncIterable; export declare function serializeJsonEntities(iterable: AsyncIterable): AsyncIterable; export declare function deserializeJsonEntity(stream: (signal?: AbortSignal) => AsyncIterable): Promise; export declare function deserializeJsonEntities(stream: (signal?: AbortSignal) => AsyncIterable, signal?: AbortSignal): AsyncIterable;