import { type ArtifactReader, type ArtifactWriter } from '@hyperlane-xyz/provider-sdk/artifact'; import { type DeployedMailboxAddress, type DeployedRawMailboxArtifact, type IRawMailboxArtifactManager, type MailboxType, type RawMailboxArtifactConfigs } from '@hyperlane-xyz/provider-sdk/mailbox'; import { type CosmosNativeSigner } from '../clients/signer.js'; /** * Cosmos Mailbox Artifact Manager implementing IRawMailboxArtifactManager. * * This manager: * - Lazily initializes the query client on first use * - Provides factory methods for creating readers and writers * * Design: Uses lazy initialization to keep the constructor synchronous while * deferring the async query client creation until actually needed. */ export declare class CosmosMailboxArtifactManager implements IRawMailboxArtifactManager { private readonly config; private readonly query; constructor(config: { rpcUrls: [string, ...string[]]; domainId: number; }); /** * Creates a Cosmos query client with Core extension. */ private createQuery; /** * Read a mailbox from the blockchain. * * @param address - Address of the mailbox to read * @returns Deployed mailbox artifact with configuration */ readMailbox(address: string): Promise; /** * Factory method to create mailbox readers. * * @param _type - Mailbox type (currently only 'mailbox') * @returns Mailbox reader */ createReader(_type: T): ArtifactReader; /** * Factory method to create mailbox writers. * * @param _type - Mailbox type (currently only 'mailbox') * @param signer - Signer to use for writing transactions * @returns Mailbox writer */ createWriter(_type: T, signer: CosmosNativeSigner): ArtifactWriter; } //# sourceMappingURL=mailbox-artifact-manager.d.ts.map