import { Headers, Request, RequestInitObject, DatagramInitObject, Datagram, Response, ResponseInit, Message, MessageInit, MessageInitObject, ResponseInitObject } from "./datagram-types.js"; export declare function isResponse(d: DatagramInitObject): d is Response; export declare function isRequest(d: DatagramInitObject): d is Request; export declare abstract class CDatagram implements Datagram { from: string; to: string; port: string; headers: Headers; body: any; trail: string[]; static fromInit(init: DatagramInitObject): CResponse | CMessage; constructor(init: DatagramInitObject); text(): Promise; arrayBuffer(): Promise; json(): Promise; blob(): Promise; formData(): Promise; } export declare function isAsyncIterable(obj: any): obj is AsyncIterable; export declare class CResponse extends CDatagram implements Response { status: number; reqno: number; final: boolean; bias: string | null; static initToInitObj(init: ResponseInit): ResponseInitObject; static initObjToResponse(init: ResponseInitObject): Response; constructor(init: ResponseInitObject, req?: Request); } export declare class CMessage extends CDatagram implements Message { path: string; method: string; constructor(message: MessageInitObject); asInit(): MessageInit; } export declare class CRequest extends CMessage implements Request { request: true; reqno: number; url: string | undefined; constructor(init: RequestInitObject); } export declare function DatagramShort(datagram: Datagram, big?: boolean): string;