///
import { IAsyncReader } from "./IAsyncReader.js";
import { IPeekableAsyncReader } from "./IPeekableAsyncReader.js";
/**
* Layer on AsyncReader that reads in chunks to improve performance (especially if the Readable is a file stream)
*/
export declare class AsyncChunkReader extends IPeekableAsyncReader {
reader: IAsyncReader;
chunkSize: number;
buffer: Buffer;
bufferPos: number;
position: number;
constructor(reader: IAsyncReader, chunkSize: number);
readChunk: () => Promise;
isAtEnd(): boolean;
getPosition(): number;
/** Closes the stream, after which no further reading is allowed */
close: () => Promise;
checkBuffer(len: any): Promise;
/** Returns a string containing len bytes but doesn't advance the read position pointer
* @param len Number of bytes to peeked
*/
peek(len: any): Promise;
/** Returns a string containing len bytes
* @param len Number of bytes to read
*/
read(len: any): Promise;
}