"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
var user_management_service_client_exports = {};
__export(user_management_service_client_exports, {
  UserManagementServiceClient: () => UserManagementServiceClient
});
module.exports = __toCommonJS(user_management_service_client_exports);
var import_user_management_service = require("./user_management_service.cjs");
var import_runtime_rpc = require("@protobuf-ts/runtime-rpc");
class UserManagementServiceClient {
  constructor(_transport) {
    this._transport = _transport;
    __publicField(this, "typeName", import_user_management_service.UserManagementService.typeName);
    __publicField(this, "methods", import_user_management_service.UserManagementService.methods);
    __publicField(this, "options", import_user_management_service.UserManagementService.options);
  }
  /**
   * Create a new user.
   *
   * @generated from protobuf rpc: CreateUser
   */
  createUser(input, options) {
    const method = this.methods[0], opt = this._transport.mergeOptions(options);
    return (0, import_runtime_rpc.stackIntercept)(
      "unary",
      this._transport,
      method,
      opt,
      input
    );
  }
  /**
   * Get the user data of a specific user or the authenticated user.
   *
   * @generated from protobuf rpc: GetUser
   */
  getUser(input, options) {
    const method = this.methods[1], opt = this._transport.mergeOptions(options);
    return (0, import_runtime_rpc.stackIntercept)(
      "unary",
      this._transport,
      method,
      opt,
      input
    );
  }
  /**
   * Update selected modifiable attribute of a user resource described by the ``User`` message.
   *
   * @generated from protobuf rpc: UpdateUser
   */
  updateUser(input, options) {
    const method = this.methods[2], opt = this._transport.mergeOptions(options);
    return (0, import_runtime_rpc.stackIntercept)(
      "unary",
      this._transport,
      method,
      opt,
      input
    );
  }
  /**
   * Delete an existing user and all its rights.
   *
   * @generated from protobuf rpc: DeleteUser
   */
  deleteUser(input, options) {
    const method = this.methods[3], opt = this._transport.mergeOptions(options);
    return (0, import_runtime_rpc.stackIntercept)(
      "unary",
      this._transport,
      method,
      opt,
      input
    );
  }
  /**
   * List all existing users.
   *
   * @generated from protobuf rpc: ListUsers
   */
  listUsers(input, options) {
    const method = this.methods[4], opt = this._transport.mergeOptions(options);
    return (0, import_runtime_rpc.stackIntercept)(
      "unary",
      this._transport,
      method,
      opt,
      input
    );
  }
  /**
   * Grant rights to a user.
   * Granting rights does not affect the resource version of the corresponding user.
   *
   * @generated from protobuf rpc: GrantUserRights
   */
  grantUserRights(input, options) {
    const method = this.methods[5], opt = this._transport.mergeOptions(options);
    return (0, import_runtime_rpc.stackIntercept)(
      "unary",
      this._transport,
      method,
      opt,
      input
    );
  }
  /**
   * Revoke rights from a user.
   * Revoking rights does not affect the resource version of the corresponding user.
   *
   * @generated from protobuf rpc: RevokeUserRights
   */
  revokeUserRights(input, options) {
    const method = this.methods[6], opt = this._transport.mergeOptions(options);
    return (0, import_runtime_rpc.stackIntercept)("unary", this._transport, method, opt, input);
  }
  /**
   * List the set of all rights granted to a user.
   *
   * @generated from protobuf rpc: ListUserRights
   */
  listUserRights(input, options) {
    const method = this.methods[7], opt = this._transport.mergeOptions(options);
    return (0, import_runtime_rpc.stackIntercept)(
      "unary",
      this._transport,
      method,
      opt,
      input
    );
  }
  /**
   * Update the assignment of a user from one IDP to another.
   *
   * @generated from protobuf rpc: UpdateUserIdentityProviderId
   */
  updateUserIdentityProviderId(input, options) {
    const method = this.methods[8], opt = this._transport.mergeOptions(options);
    return (0, import_runtime_rpc.stackIntercept)("unary", this._transport, method, opt, input);
  }
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
  UserManagementServiceClient
});
//# sourceMappingURL=user_management_service.client.cjs.map