import { KademliaRoutingTable } from '@chainsafe/discv5'; import type { NodeId } from '@chainsafe/enr'; import type { Debugger } from 'debug'; export declare class PortalNetworkRoutingTable extends KademliaRoutingTable { logger?: Debugger; private radiusMap; private gossipMap; private ignored; constructor(nodeId: NodeId); setLogger(logger: Debugger): void; /** * * Updates the radius of content a node is interested in * @param nodeId - id of node on which to update radius * @param radius - radius to be set for node */ updateRadius: (nodeId: NodeId, radius: bigint) => void; /** * Returns the last recorded radius of a peer with the corresponding `nodeId` * @param nodeId nodeId of peer for whom radius is sought * @returns radius of the peer corresponding to `nodeId` */ getRadius: (nodeId: NodeId) => bigint | undefined; /** * Checks to see if a contentKey is known by a peer already * @param nodeId `nodeId` of peer content was OFFERed to * @param contentKey hex prefixed string representation of content key * @returns boolean indicating if node has already been OFFERed `contentKey` already */ contentKeyKnownToPeer: (nodeId: NodeId, contentKey: string) => boolean; /** * Evict a node from the routing table and ignore * @param nodeId nodeId of peer to be evicted */ evictNode: (nodeId: NodeId) => void; private ignoreNode; isIgnored: (nodeId: string) => true | undefined; clearIgnored(): void; } //# sourceMappingURL=routingTable.d.ts.map