import { Duplex } from "node:stream"; import { PromiseReadable } from "promise-readable"; import { PromiseWritable } from "promise-writable"; interface DuplexStream extends Duplex { closed: boolean; } export declare class PromiseDuplex extends PromiseReadable implements AsyncIterable { readonly stream: TDuplex; readonly readable: PromiseReadable; readonly writable: PromiseWritable; readonly isPromiseReadable: boolean; readonly isPromiseWritable: boolean; constructor(stream: TDuplex); read(size?: number): Promise; readAll(): Promise; setEncoding(encoding: BufferEncoding): this; iterate(size?: number): AsyncIterableIterator; [Symbol.asyncIterator](): AsyncIterableIterator; write(chunk: string | Buffer, encoding?: BufferEncoding): Promise; writeAll(content: string | Buffer, chunkSize?: number): Promise; end(): Promise; once(event: "close" | "end" | "error" | "finish"): Promise; once(event: "open"): Promise; once(event: "pipe" | "unpipe"): Promise; destroy(): this; } export default PromiseDuplex;