import { WriteStream, createWriteStream } from 'node:fs';
import { Readable, Transform, TransformCallback } from 'node:stream';
/**
 * Extends WriteStream.
 * Adds the missing wrote event to monitor write progress.
 */
export declare class WriterStream extends WriteStream {
    /**
     * A flag to hook _write methods only once, ignoring write within write.
     */
    protected _writing: boolean;
    /**
     * WriterStream constructor.
     *
     * @param path Same as createWriteStream.
     * @param options Same as createWriteStream.
     */
    constructor(path: Parameters<typeof createWriteStream>[0], options?: Parameters<typeof createWriteStream>[1]);
    /**
     * @inheritDoc
     */
    _write(chunk: unknown, encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
    /**
     * @inheritDoc
     */
    _writev(chunks: {
        chunk: unknown;
        encoding: BufferEncoding;
    }[], callback: (error?: Error | null) => void): void;
}
/**
 * Gets buffer slice out of a readable stream.
 */
export declare class SliceStream extends Transform {
    /**
     * Slice start.
     */
    readonly start: number;
    /**
     * Slice size.
     */
    readonly size: number;
    /**
     * Amount processed.
     */
    protected _transformed: number;
    /**
     * SliceStream constructor.
     *
     * @param start Start offset.
     * @param size Total Size.
     */
    constructor(start?: number, size?: number);
    /**
     * @inheritDoc
     */
    _transform(chunk: unknown, encoding: BufferEncoding, callback: TransformCallback): void;
}
/**
 * An empty read stream.
 */
export declare class EmptyStream extends Readable {
    /**
     * @inheritDoc
     */
    _read(_size: number): void;
}
