import * as stream from 'node:stream'; type CallbackType = (error?: Error | null) => void; export type ChunkSizeChoice = { kind: 'everyN'; n: number; } | { kind: 'chunksOf'; dataSize: number; }; export declare function everyNthByte(n: number): ChunkSizeChoice; export declare function inferChunkSize(dataSize: number): ChunkSizeChoice; export declare class DigestingPassThrough extends stream.Transform { private digester; constructor(key: Uint8Array, sizeChoice: ChunkSizeChoice); getFinalDigest(): Uint8Array; _transform(data: Uint8Array, enc: BufferEncoding, callback: CallbackType): void; _final(callback: CallbackType): void; } export declare class ValidatingPassThrough extends stream.Transform { private validator; private buffer; constructor(key: Uint8Array, sizeChoice: ChunkSizeChoice, digest: Uint8Array); _transform(data: Uint8Array, enc: BufferEncoding, callback: CallbackType): void; _final(callback: CallbackType): void; } export declare function chunkSizeInBytes(sizeChoice: ChunkSizeChoice): number; export {};