import { Logger } from 'pino'; import { ProtocolType } from '@hyperlane-xyz/utils'; import { ChainMetadataManager } from '../metadata/ChainMetadataManager.js'; import type { ChainMetadata } from '../metadata/chainMetadataTypes.js'; import type { ChainMap, ChainName, ChainNameOrId } from '../types.js'; import { AleoProvider, CosmJsNativeProvider, CosmJsProvider, CosmJsWasmProvider, EthersV5Provider, ProviderMap, ProviderType, RadixProvider, SolanaWeb3Provider, StarknetJsProvider, TronProvider, TypedProvider, ViemProvider } from './ProviderType.js'; import type { ProviderBuilderFn, ProviderBuilderMap } from './providerBuilders.js'; export interface MinimalProviderRegistryOptions { logger?: Logger; providers?: ChainMap>; providerBuilders?: Partial; } export declare class MinimalProviderRegistry extends ChainMetadataManager { protected readonly options: MinimalProviderRegistryOptions; protected readonly providers: ChainMap>; protected readonly providerBuilders: Partial; readonly logger: Logger; constructor(chainMetadata: ChainMap>, options?: MinimalProviderRegistryOptions); extendChainMetadata(additionalMetadata: ChainMap): MinimalProviderRegistry; protected getProviderBuilder(_protocol: ProtocolType, type: ProviderType): ProviderBuilderFn | undefined; tryGetProvider(chainNameOrId: ChainNameOrId, type?: ProviderType): TypedProvider | null; getProvider(chainNameOrId: ChainNameOrId, type?: ProviderType): TypedProvider; protected getSpecificProvider(chainNameOrId: ChainNameOrId, type: ProviderType): T; getEthersV5Provider(chainNameOrId: ChainNameOrId): EthersV5Provider['provider']; getViemProvider(chainNameOrId: ChainNameOrId): ViemProvider['provider']; getSolanaWeb3Provider(chainNameOrId: ChainNameOrId): SolanaWeb3Provider['provider']; getCosmJsProvider(chainNameOrId: ChainNameOrId): CosmJsProvider['provider']; getCosmJsWasmProvider(chainNameOrId: ChainNameOrId): CosmJsWasmProvider['provider']; getCosmJsNativeProvider(chainNameOrId: ChainNameOrId): CosmJsNativeProvider['provider']; getStarknetProvider(chainNameOrId: ChainNameOrId): StarknetJsProvider['provider']; getRadixProvider(chainNameOrId: ChainNameOrId): RadixProvider['provider']; getAleoProvider(chainNameOrId: ChainNameOrId): AleoProvider['provider']; getTronProvider(chainNameOrId: ChainNameOrId): TronProvider['provider']; setProvider(chainNameOrId: ChainNameOrId, provider: TypedProvider): TypedProvider; setProviders(providers: ChainMap): void; intersect(chains: ChainName[], throwIfNotSubset?: boolean): { intersection: ChainName[]; result: MinimalProviderRegistry; }; } //# sourceMappingURL=MinimalProviderRegistry.d.ts.map