/// import { EventEmitter } from 'events'; import pushable from 'it-pushable'; import type { PeerId } from 'libp2p-interfaces/peer-id'; import type { MuxedStream } from 'libp2p-interfaces/stream-muxer'; export interface Options { id: PeerId; protocol: string; } /** * Thin wrapper around a peer's inbound / outbound pubsub streams */ export declare class PeerStreams extends EventEmitter { readonly id: PeerId; readonly protocol: string; /** * Write stream - it's preferable to use the write method */ outboundStream: pushable.Pushable | undefined; /** * Read stream */ inboundStream: AsyncIterable | undefined; /** * The raw outbound stream, as retrieved from conn.newStream */ private _rawOutboundStream; /** * The raw inbound stream, as retrieved from the callback from libp2p.handle */ private _rawInboundStream; /** * An AbortController for controlled shutdown of the inbound stream */ private readonly _inboundAbortController; constructor(opts: Options); /** * Do we have a connection to read from? * * @type {boolean} */ get isReadable(): boolean; /** * Do we have a connection to write on? * * @type {boolean} */ get isWritable(): boolean; /** * Send a message to this peer. * Throws if there is no `stream` to write to available. */ write(data: Uint8Array): void; /** * Attach a raw inbound stream and setup a read stream */ attachInboundStream(stream: MuxedStream): AsyncIterable; /** * Attach a raw outbound stream and setup a write stream */ attachOutboundStream(stream: MuxedStream): Promise; /** * Closes the open connection to peer */ close(): void; } //# sourceMappingURL=peer-streams.d.ts.map