import type { Address, Hex } from 'viem'; import type { ProtocolDecoder } from './types.js'; export interface ContractEntry { protocol: string; decoder: ProtocolDecoder; } export interface RegistryConfig { contracts: Record; interfaceDecoders: ProtocolDecoder[]; } export declare class ProtocolRegistry { private readonly addressMap; private readonly interfaceDecoders; constructor(config: RegistryConfig); /** * Lookup protocol by chainId + contract address (Stage 1). * Falls back to interface-based decoder matching by selector (Stage 2). */ resolve(chainId: number, to: Address, selector: Hex): ProtocolDecoder | undefined; } export declare function createDefaultRegistry(): RegistryConfig;