import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
//@ts-nocheck

import * as _m0 from "protobufjs/minimal";
import { MsgCreateIidDocument, MsgCreateIidDocumentResponse, MsgUpdateIidDocument, MsgUpdateIidDocumentResponse, MsgAddVerification, MsgAddVerificationResponse, MsgRevokeVerification, MsgRevokeVerificationResponse, MsgSetVerificationRelationships, MsgSetVerificationRelationshipsResponse, MsgAddService, MsgAddServiceResponse, MsgDeleteService, MsgDeleteServiceResponse, MsgAddController, MsgAddControllerResponse, MsgDeleteController, MsgDeleteControllerResponse, MsgAddLinkedResource, MsgAddLinkedResourceResponse, MsgDeleteLinkedResource, MsgDeleteLinkedResourceResponse, MsgAddLinkedClaim, MsgAddLinkedClaimResponse, MsgDeleteLinkedClaim, MsgDeleteLinkedClaimResponse, MsgAddLinkedEntity, MsgAddLinkedEntityResponse, MsgDeleteLinkedEntity, MsgDeleteLinkedEntityResponse, MsgAddAccordedRight, MsgAddAccordedRightResponse, MsgDeleteAccordedRight, MsgDeleteAccordedRightResponse, MsgAddIidContext, MsgAddIidContextResponse, MsgDeactivateIID, MsgDeactivateIIDResponse, MsgDeleteIidContext, MsgDeleteIidContextResponse } from "./tx";
/** Msg defines the identity Msg service. */

export class MsgClientImpl {
  constructor(rpc) {
    _defineProperty(this, "rpc", void 0);
    this.rpc = rpc;
    this.createIidDocument = this.createIidDocument.bind(this);
    this.updateIidDocument = this.updateIidDocument.bind(this);
    this.addVerification = this.addVerification.bind(this);
    this.revokeVerification = this.revokeVerification.bind(this);
    this.setVerificationRelationships = this.setVerificationRelationships.bind(this);
    this.addService = this.addService.bind(this);
    this.deleteService = this.deleteService.bind(this);
    this.addController = this.addController.bind(this);
    this.deleteController = this.deleteController.bind(this);
    this.addLinkedResource = this.addLinkedResource.bind(this);
    this.deleteLinkedResource = this.deleteLinkedResource.bind(this);
    this.addLinkedClaim = this.addLinkedClaim.bind(this);
    this.deleteLinkedClaim = this.deleteLinkedClaim.bind(this);
    this.addLinkedEntity = this.addLinkedEntity.bind(this);
    this.deleteLinkedEntity = this.deleteLinkedEntity.bind(this);
    this.addAccordedRight = this.addAccordedRight.bind(this);
    this.deleteAccordedRight = this.deleteAccordedRight.bind(this);
    this.addIidContext = this.addIidContext.bind(this);
    this.deactivateIID = this.deactivateIID.bind(this);
    this.deleteIidContext = this.deleteIidContext.bind(this);
  }
  createIidDocument(request) {
    const data = MsgCreateIidDocument.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "CreateIidDocument", data);
    return promise.then(data => MsgCreateIidDocumentResponse.decode(new _m0.Reader(data)));
  }
  updateIidDocument(request) {
    const data = MsgUpdateIidDocument.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "UpdateIidDocument", data);
    return promise.then(data => MsgUpdateIidDocumentResponse.decode(new _m0.Reader(data)));
  }
  addVerification(request) {
    const data = MsgAddVerification.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "AddVerification", data);
    return promise.then(data => MsgAddVerificationResponse.decode(new _m0.Reader(data)));
  }
  revokeVerification(request) {
    const data = MsgRevokeVerification.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "RevokeVerification", data);
    return promise.then(data => MsgRevokeVerificationResponse.decode(new _m0.Reader(data)));
  }
  setVerificationRelationships(request) {
    const data = MsgSetVerificationRelationships.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "SetVerificationRelationships", data);
    return promise.then(data => MsgSetVerificationRelationshipsResponse.decode(new _m0.Reader(data)));
  }
  addService(request) {
    const data = MsgAddService.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "AddService", data);
    return promise.then(data => MsgAddServiceResponse.decode(new _m0.Reader(data)));
  }
  deleteService(request) {
    const data = MsgDeleteService.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "DeleteService", data);
    return promise.then(data => MsgDeleteServiceResponse.decode(new _m0.Reader(data)));
  }
  addController(request) {
    const data = MsgAddController.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "AddController", data);
    return promise.then(data => MsgAddControllerResponse.decode(new _m0.Reader(data)));
  }
  deleteController(request) {
    const data = MsgDeleteController.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "DeleteController", data);
    return promise.then(data => MsgDeleteControllerResponse.decode(new _m0.Reader(data)));
  }
  addLinkedResource(request) {
    const data = MsgAddLinkedResource.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "AddLinkedResource", data);
    return promise.then(data => MsgAddLinkedResourceResponse.decode(new _m0.Reader(data)));
  }
  deleteLinkedResource(request) {
    const data = MsgDeleteLinkedResource.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "DeleteLinkedResource", data);
    return promise.then(data => MsgDeleteLinkedResourceResponse.decode(new _m0.Reader(data)));
  }
  addLinkedClaim(request) {
    const data = MsgAddLinkedClaim.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "AddLinkedClaim", data);
    return promise.then(data => MsgAddLinkedClaimResponse.decode(new _m0.Reader(data)));
  }
  deleteLinkedClaim(request) {
    const data = MsgDeleteLinkedClaim.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "DeleteLinkedClaim", data);
    return promise.then(data => MsgDeleteLinkedClaimResponse.decode(new _m0.Reader(data)));
  }
  addLinkedEntity(request) {
    const data = MsgAddLinkedEntity.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "AddLinkedEntity", data);
    return promise.then(data => MsgAddLinkedEntityResponse.decode(new _m0.Reader(data)));
  }
  deleteLinkedEntity(request) {
    const data = MsgDeleteLinkedEntity.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "DeleteLinkedEntity", data);
    return promise.then(data => MsgDeleteLinkedEntityResponse.decode(new _m0.Reader(data)));
  }
  addAccordedRight(request) {
    const data = MsgAddAccordedRight.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "AddAccordedRight", data);
    return promise.then(data => MsgAddAccordedRightResponse.decode(new _m0.Reader(data)));
  }
  deleteAccordedRight(request) {
    const data = MsgDeleteAccordedRight.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "DeleteAccordedRight", data);
    return promise.then(data => MsgDeleteAccordedRightResponse.decode(new _m0.Reader(data)));
  }
  addIidContext(request) {
    const data = MsgAddIidContext.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "AddIidContext", data);
    return promise.then(data => MsgAddIidContextResponse.decode(new _m0.Reader(data)));
  }
  deactivateIID(request) {
    const data = MsgDeactivateIID.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "DeactivateIID", data);
    return promise.then(data => MsgDeactivateIIDResponse.decode(new _m0.Reader(data)));
  }
  deleteIidContext(request) {
    const data = MsgDeleteIidContext.encode(request).finish();
    const promise = this.rpc.request("ixo.iid.v1beta1.Msg", "DeleteIidContext", data);
    return promise.then(data => MsgDeleteIidContextResponse.decode(new _m0.Reader(data)));
  }
}