import type { ChainMap, ChainNameOrId } from '../types.js';
import type { ChainMetadata } from './chainMetadataTypes.js';
export interface ChainMetadataResolver<MetaExt = {}> {
    metadata: ChainMap<ChainMetadata<MetaExt>>;
    getKnownChainNames: () => string[];
    tryGetChainId: (chain: ChainNameOrId) => string | number | null;
    tryGetChainMetadata: (chain: ChainNameOrId) => ChainMetadata<MetaExt> | null;
    tryGetChainName: (chain: ChainNameOrId) => string | null;
    tryGetDomainId: (chain: ChainNameOrId) => number | null;
    tryGetProtocol: (chain: ChainNameOrId) => ChainMetadata['protocol'] | null;
}
export declare function createChainMetadataResolver<MetaExt = {}>(metadata: ChainMap<ChainMetadata<MetaExt>>): ChainMetadataResolver<MetaExt>;
//# sourceMappingURL=ChainMetadataResolver.d.ts.map