import { PANERELAY_PROTOCOL_VERSION } from './constants.js'; export declare const PANERELAY_NATIVE_CHUNK_BYTES: number; export declare const PANERELAY_NATIVE_TRANSFER_TIMEOUT_MS = 15000; export declare const PANERELAY_NATIVE_TRANSFER_MAX_BYTES: number; export declare const PANERELAY_NATIVE_TRANSFER_MAX_CHUNKS = 1024; export interface NativeTransferChunk { type: 'transport.chunk'; protocol: typeof PANERELAY_PROTOCOL_VERSION; transferId: string; index: number; total: number; totalBytes: number; checksum: string; data: string; } export interface NativeTransferCancel { type: 'transport.cancel'; protocol: typeof PANERELAY_PROTOCOL_VERSION; transferId: string; reason: string; } export type NativeTransferEnvelope = NativeTransferChunk | NativeTransferCancel; export interface NativeTransferEncoderOptions { chunkBytes?: number; inlineBytes?: number; transferId?: string; } export interface NativeTransferReceiverOptions { maxChunkBytes?: number; maxTransferBytes?: number; timeoutMs?: number; } export declare function isNativeTransferEnvelope(value: unknown): value is NativeTransferEnvelope; export declare function createNativeTransferCancel(transferId: string, reason: string): NativeTransferCancel; export declare function encodeNativeTransfer(message: unknown, options?: NativeTransferEncoderOptions): Array; export declare class NativeTransferReceiver { private readonly pending; private readonly maxChunkBytes; private readonly maxTransferBytes; private readonly timeoutMs; constructor(options?: NativeTransferReceiverOptions); get pendingCount(): number; push(message: unknown, now?: number): unknown[]; expire(now?: number): string[]; cancelAll(): void; } //# sourceMappingURL=native-transfer.d.ts.map