import { HYPERLANE_SVM_PROGRAM_BYTES } from '../hyperlane/program-bytes.js';
import { SvmValidatorAnnounceReader, SvmValidatorAnnounceWriter, } from './validator-announce.js';
export class SvmValidatorAnnounceArtifactManager {
    rpc;
    domainId;
    constructor(rpc, domainId) {
        this.rpc = rpc;
        this.domainId = domainId;
    }
    async readValidatorAnnounce(address) {
        const reader = this.createReader('validatorAnnounce');
        return reader.read(address);
    }
    createReader(_type) {
        return new SvmValidatorAnnounceReader(this.rpc);
    }
    createWriter(_type, signer) {
        return new SvmValidatorAnnounceWriter({
            program: {
                programBytes: HYPERLANE_SVM_PROGRAM_BYTES.validatorAnnounce,
            },
            domainId: this.domainId,
        }, this.rpc, signer);
    }
}
//# sourceMappingURL=validator-announce-artifact-manager.js.map