import { Member, PlatformID } from '@digitaldefiance/ecies-lib'; import { RandomBlock } from './blocks/random'; import { WhitenedBlock } from './blocks/whitened'; import { Transform, TransformCallback, TransformOptions } from './browserStream'; import { BlockSize } from './enumerations/blockSize'; /** * PrimeTupleGeneratorStream transforms input data into tuples of blocks. * In the Owner Free Filesystem (OFF), data privacy is achieved by: * 1. Breaking input data into fixed-size blocks * 2. XORing each block with random blocks and whitening blocks * 3. Creating tuples that contain: * - The XORed data block * - Random blocks for privacy * - Whitening blocks for data recovery * * This stream: * 1. Buffers input data until a full block can be created * 2. Creates a data block from the buffered data * 3. Combines it with random and whitening blocks * 4. Outputs the resulting tuple */ export declare class PrimeTupleGeneratorStream extends Transform { private readonly blockSize; private readonly creator; private buffer; private readonly randomBlockSource; private readonly whitenedBlockSource; constructor(blockSize: BlockSize, creator: Member, whitenedBlockSource: () => WhitenedBlock | undefined, randomBlockSource: () => RandomBlock, options?: TransformOptions); _transform(chunk: any, encoding: string, callback: TransformCallback): Promise; private makeTuple; _flush(callback: TransformCallback): Promise; } //# sourceMappingURL=primeTupleGeneratorStream.d.ts.map