import { type QueryClient } from '@cosmjs/stargate'; import { type any, isQuery, isTypes, type pagination } from '@hyperlane-xyz/cosmos-types'; type ISM = isTypes.NoopISM | isTypes.MerkleRootMultisigISM | isTypes.MessageIdMultisigISM | isTypes.RoutingISM; type QueryDecodedIsmResponse = { ism: T; }; type QueryDecodedIsmsResponse = { isms: T[]; pagination: pagination.PageResponse | undefined; }; export declare enum IsmTypes { NoopISM = "/hyperlane.core.interchain_security.v1.NoopISM", MerkleRootMultisigISM = "/hyperlane.core.interchain_security.v1.MerkleRootMultisigISM", MessageIdMultisigISM = "/hyperlane.core.interchain_security.v1.MessageIdMultisigISM", RoutingISM = "/hyperlane.core.interchain_security.v1.RoutingISM" } export declare const decodeIsm: (ism: any.Any | undefined) => ISM; export interface InterchainSecurityExtension { readonly interchainSecurity: { /** AnnouncedStorageLocations ... */ readonly AnnouncedStorageLocations: (req: isQuery.QueryAnnouncedStorageLocationsRequest) => Promise; /** Only the latest announced location from the validator */ readonly LatestAnnouncedStorageLocation: (req: isQuery.QueryLatestAnnouncedStorageLocationRequest) => Promise; /** Isms ... */ readonly Isms: (req: isQuery.QueryIsmsRequest) => Promise; /** Ism ... */ readonly Ism: (req: isQuery.QueryIsmRequest) => Promise; /** DecodedIsms ... */ readonly DecodedIsms: (req: isQuery.QueryIsmsRequest) => Promise>; /** DecodedIsm ... */ readonly DecodedIsm: (req: isQuery.QueryIsmRequest) => Promise>; }; } export declare function setupInterchainSecurityExtension(base: QueryClient): InterchainSecurityExtension; export {}; //# sourceMappingURL=query.d.ts.map