import { IReadable } from '../types.js';
import { IFrameDecoder } from './types.js';
/** options for {@link FramedReader} */
export interface FramedReaderOptions {
initialBufferSize?: number;
readChunkSize?: number;
}
/** a reader that decodes frames one by one from a readable stream */
export declare class FramedReader {
#private;
/**
* @param readable fuman readable stream to read from
* @param decoder frame decoder
* @param options extra options
*/
constructor(readable: IReadable, decoder: IFrameDecoder, options?: FramedReaderOptions);
/** read a next frame from the stream, or `null` if the stream ended */
read(): Promise;
/** create an async iterator that yields frames */
[Symbol.asyncIterator](): AsyncIterator;
}