var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
import { UserManagementService } from "./user_management_service.js";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
class UserManagementServiceClient {
  constructor(_transport) {
    this._transport = _transport;
    __publicField(this, "typeName", UserManagementService.typeName);
    __publicField(this, "methods", UserManagementService.methods);
    __publicField(this, "options", 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 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 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 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 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 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 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 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 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 stackIntercept("unary", this._transport, method, opt, input);
  }
}
export {
  UserManagementServiceClient
};
//# sourceMappingURL=user_management_service.client.js.map