import { Readable, Transform, TransformOptions } from 'stream'; export interface PeekStreamOptions extends TransformOptions { peekBytes: number; } export declare class BufferPeekStream extends Transform { private peekBytes; private buffer; private bufferLength; private peeked; constructor(options: PeekStreamOptions); _transform(chunk: any, encoding: BufferEncoding, callback: Function): void; _flush(callback: Function): void; } export declare function peek(source: Readable, bytes: number, callback?: (err: Error | null, buffer: Buffer, dest: BufferPeekStream) => void): BufferPeekStream; export declare function peek(source: Readable, callback: (err: Error | null, buffer: Buffer, dest: BufferPeekStream) => void): BufferPeekStream; export declare namespace peek { var promise: (source: Readable, bytes?: number) => Promise<[Buffer, BufferPeekStream]>; } export type PeekCallback = (err: Error | null, buffer: Buffer, dest: BufferPeekStream) => void; export type PeekPromise = (source: Readable, bytes?: number) => Promise<[Buffer, BufferPeekStream]>;