import type { Codec, DecodeOptions } from 'protons-runtime'; import type { Uint8ArrayList } from 'uint8arraylist'; export interface Peer { addresses: Address[]; protocols: string[]; publicKey?: Uint8Array; peerRecordEnvelope?: Uint8Array; metadata: Map; tags: Map; updated?: number; } export declare namespace Peer { interface Peer$metadataEntry { key: string; value: Uint8Array; } namespace Peer$metadataEntry { const codec: () => Codec; interface Peer$metadataEntryKeyFieldEvent { field: '$.key'; value: string; } interface Peer$metadataEntryValueFieldEvent { field: '$.value'; value: Uint8Array; } function encode(obj: Partial): Uint8Array; function decode(buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions): Peer$metadataEntry; function stream(buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions): Generator; } interface Peer$tagsEntry { key: string; value?: Tag; } namespace Peer$tagsEntry { const codec: () => Codec; interface Peer$tagsEntryKeyFieldEvent { field: '$.key'; value: string; } interface Peer$tagsEntryValueValueFieldEvent { field: '$.value.value'; value: number; } interface Peer$tagsEntryValueExpiryFieldEvent { field: '$.value.expiry'; value: bigint; } function encode(obj: Partial): Uint8Array; function decode(buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions): Peer$tagsEntry; function stream(buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions): Generator; } const codec: () => Codec; interface PeerAddressesMultiaddrFieldEvent { field: '$.addresses[].multiaddr'; value: Uint8Array; index: number; } interface PeerAddressesIsCertifiedFieldEvent { field: '$.addresses[].isCertified'; value: boolean; index: number; } interface PeerAddressesObservedFieldEvent { field: '$.addresses[].observed'; value: number; index: number; } interface PeerProtocolsFieldEvent { field: '$.protocols[]'; index: number; value: string; } interface PeerPublicKeyFieldEvent { field: '$.publicKey'; value: Uint8Array; } interface PeerPeerRecordEnvelopeFieldEvent { field: '$.peerRecordEnvelope'; value: Uint8Array; } interface PeerMetadataFieldEvent { field: '$.metadata{}'; key: string; value: Uint8Array; } interface PeerTagsValueFieldEvent { field: '$.tags{}.value'; value: Tag; key: string; } interface PeerTagsExpiryFieldEvent { field: '$.tags{}.expiry'; value: Tag; key: string; } interface PeerUpdatedFieldEvent { field: '$.updated'; value: number; } function encode(obj: Partial): Uint8Array; function decode(buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions): Peer; function stream(buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions): Generator; } export interface Address { multiaddr: Uint8Array; isCertified?: boolean; observed?: number; } export declare namespace Address { const codec: () => Codec
; interface AddressMultiaddrFieldEvent { field: '$.multiaddr'; value: Uint8Array; } interface AddressIsCertifiedFieldEvent { field: '$.isCertified'; value: boolean; } interface AddressObservedFieldEvent { field: '$.observed'; value: number; } function encode(obj: Partial
): Uint8Array; function decode(buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions
): Address; function stream(buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions
): Generator; } export interface Tag { value: number; expiry?: bigint; } export declare namespace Tag { const codec: () => Codec; interface TagValueFieldEvent { field: '$.value'; value: number; } interface TagExpiryFieldEvent { field: '$.expiry'; value: bigint; } function encode(obj: Partial): Uint8Array; function decode(buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions): Tag; function stream(buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions): Generator; } //# sourceMappingURL=peer.d.ts.map