import { Network, Symbol } from '../types/base'; /** * Options for searching networks */ type SearchOptions = Partial<{ symbol: string; network: 'mainnet' | 'testnet' | 'regtest' | 'simnet'; name: string; }>; /** * Centralized registry for blockchain network definitions * * @example * ```typescript * import { NetworkRegistry } from '@hyperbitjs/chains'; * * const registry = new NetworkRegistry(); * * // Find by symbol * const btc = registry.find('btc'); * * // Find by ID * const mainnet = registry.findById('bitcoin-mainnet'); * * // Get all networks * const all = registry.getAll(); * * // Search by criteria * const testNets = registry.search({ network: 'testnet' }); * ``` */ export declare class NetworkRegistry { private networks; private symbolIndex; constructor(); /** * Load all chains from the chains module */ private loadChains; /** * Register a networks collection */ private registerNetworks; /** * Find a network by symbol (returns mainnet by default) */ find(symbol: string): Network | undefined; find(symbol: Symbol): Network | undefined; /** * Find a network by its ID */ findById(id: string): Network | undefined; /** * Get all networks with a specific symbol */ findAllBySymbol(symbol: string): Network[]; /** * Get all networks of a specific type */ findAllByNetworkType(type: 'mainnet' | 'testnet' | 'regtest' | 'simnet'): Network[]; /** * Get all mainnet networks */ findAllMainnets(): Network[]; /** * Get all test networks (testnet, regtest, simnet) */ findAllTestNetworks(): Network[]; /** * Search networks by multiple criteria */ search(options: SearchOptions): Network[]; /** * Get all networks */ getAll(): Map; /** * Get count of registered networks */ count(): number; /** * Get all unique symbols */ getSymbols(): string[]; } /** * Get the default registry instance (singleton) */ export declare function getRegistry(): NetworkRegistry; export {}; //# sourceMappingURL=index.d.ts.map