import { Writable, Readable, WritableOptions } from 'stream'; import { RemotePeer } from './remote-peer'; export interface NetronWritableStreamOptions extends WritableOptions { peer: RemotePeer; streamId?: number; isLive?: boolean; } export declare class NetronWritableStream extends Writable { readonly id: number; readonly peer: RemotePeer; private index; isLive: boolean; private isClosed; constructor({ peer, streamId, isLive, ...opts }: NetronWritableStreamOptions); pipeFrom(source: AsyncIterable | Readable): Promise; _write(chunk: any, _: BufferEncoding, callback: (error?: Error | null) => void): void; _final(callback: (error?: Error | null) => void): void; closeStream(): void; destroy(error?: Error): this; private cleanup; private handleError; static create(peer: RemotePeer, source?: AsyncIterable | Readable, isLive?: boolean, streamId?: number): NetronWritableStream; }