import { Msg } from "./tx_pb.js";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
class MsgClient {
  constructor(_transport) {
    this._transport = _transport;
    this.typeName = Msg.typeName;
    this.methods = Msg.methods;
    this.options = Msg.options;
  }
  /**
   * CreateInsuranceFund defines a method for creating an insurance fund
   *
   * @generated from protobuf rpc: CreateInsuranceFund
   */
  createInsuranceFund(input, options) {
    const method = this.methods[0], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Underwrite defines a method for depositing tokens to underwrite an
   * insurance fund
   *
   * @generated from protobuf rpc: Underwrite
   */
  underwrite(input, options) {
    const method = this.methods[1], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * RequestRedemption defines a method for requesting a redemption of the
   * sender's insurance fund tokens
   *
   * @generated from protobuf rpc: RequestRedemption
   */
  requestRedemption(input, options) {
    const method = this.methods[2], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * @generated from protobuf rpc: UpdateParams
   */
  updateParams(input, options) {
    const method = this.methods[3], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * ClaimVoucher defines a method for claiming an outstanding voucher
   *
   * @generated from protobuf rpc: ClaimVoucher
   */
  claimVoucher(input, options) {
    const method = this.methods[4], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
}
export {
  MsgClient
};
