import { ChunkReaderOptions } from 'chunkreader2';
export interface LineReaderOptions extends ChunkReaderOptions {
    lineSeparator?: LineSeparator;
    skipBlank?: boolean;
    skipNumbers?: (number | NumberRange)[];
}
declare class LineReader {
    private options;
    private reader;
    private mutex;
    private buffer;
    private cutted?;
    private separator?;
    private count;
    private skips;
    get filePath(): string;
    get bytesLength(): number;
    get lineSeparator(): string | undefined;
    get linesRead(): number;
    get bytesRead(): number;
    get isClosed(): boolean;
    get isOpened(): boolean;
    constructor(options: LineReaderOptions);
    _determineSeparator(): Promise<void>;
    _nextChunk(): Promise<string>;
    readLinesWithNumbers(limit?: number): Promise<[string, number][]>;
    readLines(limit?: number): Promise<string[]>;
    readLineWithNumber(): Promise<[string, number] | undefined>;
    readLine(): Promise<string | undefined>;
    resetReader(): void;
    openReader(): void;
    closeReader(): void;
}
type NumberRange = [number, number];
type LineSeparator = '\r\n' | '\r' | '\n' | string;
export default LineReader;
