/** * @packageDocumentation * * An implementation of a peer id * * @example * * ```TypeScript * import { peerIdFromString } from '@libp2p/peer-id' * const peer = peerIdFromString('k51qzi5uqu5dkwkqm42v9j9kqcam2jiuvloi16g72i4i4amoo2m8u3ol3mqu6s') * * console.log(peer.toCID()) // CID(bafzaa...) * console.log(peer.toString()) // "12D3K..." * ``` */ import { peerIdSymbol } from '@libp2p/interface'; import { CID } from 'multiformats/cid'; import type { Ed25519PeerId as Ed25519PeerIdInterface, PeerIdType, RSAPeerId as RSAPeerIdInterface, URLPeerId as URLPeerIdInterface, Secp256k1PeerId as Secp256k1PeerIdInterface, PeerId, PublicKey, Ed25519PublicKey, Secp256k1PublicKey, RSAPublicKey } from '@libp2p/interface'; import type { MultihashDigest } from 'multiformats/hashes/interface'; declare const inspect: unique symbol; interface PeerIdInit { type: PeerIdType; multihash: MultihashDigest; } interface RSAPeerIdInit { multihash: MultihashDigest<0x12>; publicKey?: RSAPublicKey; } interface Ed25519PeerIdInit { multihash: MultihashDigest<0x0>; publicKey: Ed25519PublicKey; } interface Secp256k1PeerIdInit { multihash: MultihashDigest<0x0>; publicKey: Secp256k1PublicKey; } declare class PeerIdImpl { type: PeerIdType; private readonly multihash; readonly publicKey?: PublicKey; private string?; constructor(init: PeerIdInit); get [Symbol.toStringTag](): string; readonly [peerIdSymbol] = true; toString(): string; toMultihash(): MultihashDigest; toCID(): CID; toJSON(): string; /** * Checks the equality of `this` peer against a given PeerId */ equals(id?: PeerId | Uint8Array | string): boolean; /** * Returns PeerId as a human-readable string * https://nodejs.org/api/util.html#utilinspectcustom * * @example * ```TypeScript * import { peerIdFromString } from '@libp2p/peer-id' * * console.info(peerIdFromString('QmFoo')) * // 'PeerId(QmFoo)' * ``` */ [inspect](): string; } export declare class RSAPeerId extends PeerIdImpl<0x12> implements RSAPeerIdInterface { readonly type = "RSA"; readonly publicKey?: RSAPublicKey; constructor(init: RSAPeerIdInit); } export declare class Ed25519PeerId extends PeerIdImpl<0x0> implements Ed25519PeerIdInterface { readonly type = "Ed25519"; readonly publicKey: Ed25519PublicKey; constructor(init: Ed25519PeerIdInit); } export declare class Secp256k1PeerId extends PeerIdImpl<0x0> implements Secp256k1PeerIdInterface { readonly type = "secp256k1"; readonly publicKey: Secp256k1PublicKey; constructor(init: Secp256k1PeerIdInit); } export declare class URLPeerId implements URLPeerIdInterface { readonly type = "url"; readonly multihash: MultihashDigest<0x0>; readonly publicKey: undefined; readonly url: string; constructor(url: URL); [inspect](): string; readonly [peerIdSymbol] = true; toString(): string; toMultihash(): MultihashDigest<0x0>; toCID(): CID; toJSON(): string; equals(other?: PeerId | Uint8Array | string): boolean; } export {}; //# sourceMappingURL=peer-id.d.ts.map