///
import { ProgressListener, ProgressTrackerInit } from "./ProgressTracker";
import { PassThrough } from "stream";
export interface ToLinesInput {
readonly stream: NodeJS.ReadableStream;
readonly encoding?: BufferEncoding;
}
export declare class LineSplitter {
private onLine;
private data;
constructor(onLine: (line: string) => void);
onData(str: string): void;
close(): void;
}
export declare class Streams {
static isValidStream(stream: NodeJS.ReadableStream): boolean;
static toArray(stream: NodeJS.ReadableStream): Promise>;
static toLines(input: ToLinesInput, onLine: (line: string) => void, onCompleted: (err?: Error) => void): void;
static toProgressStream(stream: NodeJS.ReadableStream, init: ProgressTrackerInit, listener: ProgressListener): PassThrough;
static toBuffer(stream: NodeJS.ReadableStream): Promise;
}
export declare type StreamRangeFactory = (start: number, end: number) => NodeJS.ReadableStream;