import { Address, WithAddress } from '@hyperlane-xyz/utils'; import { DispatchedMessage } from '../core/types.js'; import { MultiProvider } from '../providers/MultiProvider.js'; import { ChainNameOrId } from '../types.js'; import { HyperlaneReader } from '../utils/HyperlaneReader.js'; import { AggregationIsmConfig, ArbL2ToL1IsmConfig, DerivedIsmConfig, IsmConfig, ModuleType, MultisigIsmConfig, NullIsmConfig, OffchainLookupIsmConfig } from './types.js'; export interface IsmReader { deriveIsmConfig(address: Address): Promise; deriveOffchainLookupConfig(address: string): Promise>; deriveRoutingConfig(address: Address): Promise>; deriveAggregationConfig(address: Address): Promise>; deriveMultisigConfig(address: Address): Promise>; deriveNullConfig(address: Address): Promise>; deriveArbL2ToL1Config(address: Address): Promise>; assertModuleType(moduleType: ModuleType, expectedModuleType: ModuleType): void; } export declare class EvmIsmReader extends HyperlaneReader implements IsmReader { protected readonly multiProvider: MultiProvider; protected readonly chain: ChainNameOrId; protected readonly concurrency: number; protected readonly messageContext?: DispatchedMessage | undefined; protected readonly logger: import("pino").default.Logger; protected isZkSyncChain: boolean; constructor(multiProvider: MultiProvider, chain: ChainNameOrId, concurrency?: number, messageContext?: DispatchedMessage | undefined); deriveIsmConfigFromAddress(address: Address): Promise; deriveOffchainLookupConfig(address: string): Promise>; deriveIsmConfig(config: IsmConfig): Promise; deriveRoutingConfig(address: Address): Promise>; /** * Detects whether the contract at `address` is an ICA router * by probing for CCIP_READ_ISM() (full router) or bytecodeHash() (minimal router). */ private isIcaRouter; private deriveRemoteIsmConfigs; private deriveNonOwnableRoutingConfig; deriveAggregationConfig(address: Address): Promise>; deriveMultisigConfig(address: string): Promise>; deriveNullConfig(address: Address): Promise>; deriveArbL2ToL1Config(address: Address): Promise>; assertModuleType(moduleType: ModuleType, expectedModuleType: ModuleType): void; } //# sourceMappingURL=EvmIsmReader.d.ts.map