/**
 * Utility functions for handling binary data in KOS WebSocket transport
 */
/**
 * Convert ArrayBuffer to base64 string for WebSocket transport
 */
export declare function arrayBufferToBase64(buffer: ArrayBuffer): string;
/**
 * Convert base64 string back to ArrayBuffer
 */
export declare function base64ToArrayBuffer(base64: string): ArrayBuffer;
/**
 * Convert Blob to ArrayBuffer
 */
export declare function blobToArrayBuffer(blob: Blob): Promise<ArrayBuffer>;
/**
 * Convert ArrayBuffer to Blob
 */
export declare function arrayBufferToBlob(buffer: ArrayBuffer, type?: string): Blob;
/**
 * Convert FormData to a serializable format
 */
export declare function serializeFormData(formData: FormData): Promise<{
    fields: Record<string, string>;
    files: Array<{
        name: string;
        filename: string;
        type: string;
        data: string;
    }>;
}>;
/**
 * Create a ReadableStream from chunks
 */
export declare function createChunkedStream(onPull: (controller: ReadableStreamDefaultController<Uint8Array>) => Promise<void>): ReadableStream<Uint8Array>;
/**
 * Process body for WebSocket transport
 */
export declare function processRequestBody(body: string | ArrayBuffer | Blob | FormData | Uint8Array | undefined): Promise<{
    data: string;
    contentType: string;
    encoding?: string;
}>;
//# sourceMappingURL=binary-utils.d.ts.map