import type { ArtifactReader, ArtifactWriter } from '@hyperlane-xyz/provider-sdk/artifact';
import type { DeployedMailboxAddress, DeployedRawMailboxArtifact, IRawMailboxArtifactManager, MailboxType, RawMailboxArtifactConfigs } from '@hyperlane-xyz/provider-sdk/mailbox';
import type { SvmSigner } from '../clients/signer.js';
import type { SvmRpc } from '../types.js';
export declare class SvmMailboxArtifactManager implements IRawMailboxArtifactManager {
    private readonly rpc;
    private readonly domainId;
    constructor(rpc: SvmRpc, domainId: number);
    readMailbox(address: string): Promise<DeployedRawMailboxArtifact>;
    createReader<T extends MailboxType>(_type: T): ArtifactReader<RawMailboxArtifactConfigs[T], DeployedMailboxAddress>;
    createWriter<T extends MailboxType>(_type: T, signer: SvmSigner): ArtifactWriter<RawMailboxArtifactConfigs[T], DeployedMailboxAddress>;
}
//# sourceMappingURL=mailbox-artifact-manager.d.ts.map