import { type QueryClient } from '@cosmjs/stargate'; import { AltVM } from '@hyperlane-xyz/provider-sdk'; import { type InterchainSecurityExtension } from '../hyperlane/interchain_security/query.js'; /** * Type alias for query client with ISM extension. * Used throughout ISM readers to ensure type safety. */ export type CosmosIsmQueryClient = QueryClient & InterchainSecurityExtension; /** * Query ISM type from address. * * @param query - Query client with InterchainSecurityExtension * @param ismAddress - Address of the ISM to query * @returns The AltVM ISM type * @throws Error if ISM not found or unknown type */ export declare function getIsmType(query: CosmosIsmQueryClient, ismAddress: string): Promise; /** * Query NoopIsm configuration. * * @param query - Query client with InterchainSecurityExtension * @param ismAddress - Address of the NoopIsm to query * @returns NoopIsm configuration with address * @throws Error if NoopIsm not found */ export declare function getNoopIsmConfig(query: CosmosIsmQueryClient, ismAddress: string): Promise<{ address: string; }>; /** * Query Message ID Multisig ISM configuration. * * @param query - Query client with InterchainSecurityExtension * @param ismAddress - Address of the Message ID Multisig ISM to query * @returns Message ID Multisig ISM configuration with address, validators, and threshold * @throws Error if Message ID Multisig ISM not found */ export declare function getMessageIdMultisigIsmConfig(query: CosmosIsmQueryClient, ismAddress: string): Promise<{ address: string; validators: string[]; threshold: number; }>; /** * Query Merkle Root Multisig ISM configuration. * * @param query - Query client with InterchainSecurityExtension * @param ismAddress - Address of the Merkle Root Multisig ISM to query * @returns Merkle Root Multisig ISM configuration with address, validators, and threshold * @throws Error if Merkle Root Multisig ISM not found */ export declare function getMerkleRootMultisigIsmConfig(query: CosmosIsmQueryClient, ismAddress: string): Promise<{ address: string; validators: string[]; threshold: number; }>; /** * Query routing ISM configuration. * * @param query - Query client with InterchainSecurityExtension * @param ismAddress - Address of the routing ISM to query * @returns Routing ISM configuration with address, owner, and routes * @throws Error if routing ISM not found */ export declare function getRoutingIsmConfig(query: CosmosIsmQueryClient, ismAddress: string): Promise<{ address: string; owner: string; routes: Array<{ domainId: number; ismAddress: string; }>; }>; //# sourceMappingURL=ism-query.d.ts.map