///
import { ENR } from '@chainsafe/enr';
import { BitArray } from '@chainsafe/ssz';
import { EventEmitter } from 'events';
import { PortalNetworkRoutingTable } from '../index.js';
import type { ContentRequest, FindContentMessage, INewRequest, NetworkId, NodesMessage, OfferMessage, PingMessage, PongMessage, PortalNetwork, PortalNetworkMetrics, StateNetworkRoutingTable } from '../index.js';
import type { INodeAddress } from '@chainsafe/discv5/lib/session/nodeInfo.js';
import type { ITalkReqMessage } from '@chainsafe/discv5/message';
import type { SignableENR } from '@chainsafe/enr';
import type { Union } from '@chainsafe/ssz/lib/interface.js';
import type { Debugger } from 'debug';
export declare abstract class BaseNetwork extends EventEmitter {
routingTable: PortalNetworkRoutingTable | StateNetworkRoutingTable;
metrics: PortalNetworkMetrics | undefined;
nodeRadius: bigint;
private checkIndex;
abstract logger: Debugger;
abstract networkId: NetworkId;
abstract networkName: string;
enr: SignableENR;
blockIndex: () => Promise