/// import type * as streams from 'stream'; export interface Stream extends streams.Duplex { /** * Close a stream for reading and writing */ close: () => void; /** * Close a stream for reading only */ closeRead: () => void; /** * Close a stream for writing only */ closeWrite: () => void; /** * Call when a local error occurs, should close the stream for reading and writing */ abort: (err: Error) => void; /** * Call when a remote error occurs, should close the stream for reading and writing */ reset: () => void; /** * Unique identifier for a stream */ id: string; /** * User defined stream metadata */ metadata: Record; } /** * A libp2p stream muxer */ export interface StreamMuxer extends streams.Duplex { readonly streams: Stream[]; /** * Initiate a new stream with the given name. If no name is * provided, the id of the stream will be used. */ newStream: (name?: string) => Stream; /** * Close or abort all tracked streams and stop the muxer */ close: (err?: Error) => void; } export interface StreamMuxerInit { direction?: 'outbound' | 'inbound'; metrics?: any; onIncomingStream?: (stream: Stream) => void; onStreamEnd?: (stream: Stream) => void; } //# sourceMappingURL=types.d.ts.map