export interface NativeStreamingDispatcher { registerType(fileIdentifier: string, messageSize: number, capacity: number): void; pushBytes(bytes: Uint8Array): void; setEncryptionContext?(fileIdentifier: string, context: unknown): void; } export interface ChannelStreamType { fileIdentifier: string; messageSize: number; capacity: number; } export interface ChannelStreamStats { bytesReceived: number; framesReceived: number; fileIdentifiers: Record; encrypted: boolean; } export interface ChannelStreamDispatcher { pushChunk(chunk: Uint8Array | ArrayBuffer | ArrayBufferView, options?: ChannelStreamPushOptions): void; stats(): ChannelStreamStats; } export interface ChannelStreamPushOptions { recordIndex?: number; fileIdentifier?: string; } export interface ChannelStreamDispatcherOptions { dispatcher: NativeStreamingDispatcher; acceptedTypes: ChannelStreamType[]; } export interface EncryptedChannelStreamDispatcherOptions extends ChannelStreamDispatcherOptions { encryptionContexts: Record; } export interface ChannelStreamEncryptionContext { setRecordIndex?(recordIndex: number): void; decryptBuffer?(bytes: Uint8Array): Uint8Array | ArrayBuffer | ArrayBufferView; [key: string]: unknown; } export declare function createChannelStreamDispatcher(options: ChannelStreamDispatcherOptions): ChannelStreamDispatcher; export declare function createEncryptedChannelStreamDispatcher(options: EncryptedChannelStreamDispatcherOptions): ChannelStreamDispatcher; //# sourceMappingURL=channel-stream.d.ts.map