/// import type * as stream from 'stream'; import type { AsyncIterableIteratorReturn } from './type'; /** * Writes a value of type `Iterable` to a writable stream object. * Inspired by the `stream.pipeline()` module method in Node.js v13.10.0 and later (which adds support for async generators). */ export declare function writeFromIterableToStream(iterable: Iterable | AsyncIterable, stream: TStream): TStream; export interface StreamReaderInterface { read: (size: number, offset?: number) => Promise; readIterator: (size: number, offset?: number) => AsyncIterable<{ data?: T | undefined; requestedSize: number; offset: number; readedSize: number; }>; seek: (offset: number) => Promise; isEnd: () => Promise; } export declare class StreamReader implements StreamReaderInterface { private readonly source; private readonly convertChunk; private iterator; private readonly bufferList; constructor(source: Iterable | AsyncIterable, convertChunk?: (chunk: unknown) => Buffer); read(size: number, offset?: number): Promise; readIterator(size: number, offset?: number): AsyncIterableIteratorReturn<{ data?: Buffer; requestedSize: number; offset: number; readedSize: number; }, void>; seek(offset: number): Promise; isEnd(): Promise; private tryReadChunk; private readNewChunks; private splitBuffer; private toAsyncIterator; }