// @generated by protoc-gen-es v2.10.2 with parameter "target=ts,import_extension=ts"
// @generated from file ar/v1/worker.proto (package ar.v1, syntax proto3)
/* eslint-disable */

import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
import type { WorkerPermission } from "./permissions_pb.ts";
import { file_ar_v1_permissions } from "./permissions_pb.ts";
import type { Property } from "./property_pb.ts";
import { file_ar_v1_property } from "./property_pb.ts";
import { file_buf_validate_validate } from "../../buf/validate/validate_pb.ts";
import { file_validation_v1_predefined_string_rules } from "../../validation/v1/predefined_string_rules_pb.ts";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file ar/v1/worker.proto.
 */
export const file_ar_v1_worker: GenFile = /*@__PURE__*/
  fileDesc("ChJhci92MS93b3JrZXIucHJvdG8SBWFyLnYxItwBCg1Xb3JrZXJNZXNzYWdlEgoKAmlkGAEgASgJEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEh8KBHR5cGUYBSABKA4yES5hci52MS5Xb3JrZXJUeXBlEisKCnBlcm1pc3Npb24YBiABKA4yFy5hci52MS5Xb3JrZXJQZXJtaXNzaW9uEiMKCnByb3BlcnRpZXMYByADKAsyDy5hci52MS5Qcm9wZXJ0eRIQCghkaXNhYmxlZBgIIAEoCCI3Cg5Xb3JrZXJNZXNzYWdlcxIlCgd3b3JrZXJzGAEgAygLMhQuYXIudjEuV29ya2VyTWVzc2FnZSp3CgpXb3JrZXJUeXBlEhsKF1dPUktFUl9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSV09SS0VSX1RZUEVfTk9WSUNFEAESHAoYV09SS0VSX1RZUEVfSU5URVJNRURJQVRFEAISFgoSV09SS0VSX1RZUEVfRVhQRVJUEANChwEKCWNvbS5hci52MUILV29ya2VyUHJvdG9QAVovZ2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL2FyL3YxO2FydjGiAgNBWFiqAg5NZXNzYWdlcy5BUi5WMcoCBUFyXFYx4gIRQXJcVjFcR1BCTWV0YWRhdGHqAgZBcjo6VjFiBnByb3RvMw", [file_ar_v1_permissions, file_ar_v1_property, file_buf_validate_validate, file_validation_v1_predefined_string_rules]);

/**
 * TODO: Add worker (including skill-matrix)?
 *
 * @generated from message ar.v1.WorkerMessage
 */
export type WorkerMessage = Message<"ar.v1.WorkerMessage"> & {
  /**
   * @generated from field: string id = 1;
   */
  id: string;

  /**
   * @generated from field: string name = 2;
   */
  name: string;

  /**
   * @generated from field: string icon = 3;
   */
  icon: string;

  /**
   * @generated from field: string description = 4;
   */
  description: string;

  /**
   * @generated from field: ar.v1.WorkerType type = 5;
   */
  type: WorkerType;

  /**
   * @generated from field: ar.v1.WorkerPermission permission = 6;
   */
  permission: WorkerPermission;

  /**
   * @generated from field: repeated ar.v1.Property properties = 7;
   */
  properties: Property[];

  /**
   * If disabled, the worker can't be selected
   *
   * @generated from field: bool disabled = 8;
   */
  disabled: boolean;
};

/**
 * Describes the message ar.v1.WorkerMessage.
 * Use `create(WorkerMessageSchema)` to create a new message.
 */
export const WorkerMessageSchema: GenMessage<WorkerMessage> = /*@__PURE__*/
  messageDesc(file_ar_v1_worker, 0);

/**
 * @generated from message ar.v1.WorkerMessages
 */
export type WorkerMessages = Message<"ar.v1.WorkerMessages"> & {
  /**
   * @generated from field: repeated ar.v1.WorkerMessage workers = 1;
   */
  workers: WorkerMessage[];
};

/**
 * Describes the message ar.v1.WorkerMessages.
 * Use `create(WorkerMessagesSchema)` to create a new message.
 */
export const WorkerMessagesSchema: GenMessage<WorkerMessages> = /*@__PURE__*/
  messageDesc(file_ar_v1_worker, 1);

/**
 * @generated from enum ar.v1.WorkerType
 */
export enum WorkerType {
  /**
   * @generated from enum value: WORKER_TYPE_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: WORKER_TYPE_NOVICE = 1;
   */
  NOVICE = 1,

  /**
   * @generated from enum value: WORKER_TYPE_INTERMEDIATE = 2;
   */
  INTERMEDIATE = 2,

  /**
   * @generated from enum value: WORKER_TYPE_EXPERT = 3;
   */
  EXPERT = 3,
}

/**
 * Describes the enum ar.v1.WorkerType.
 */
export const WorkerTypeSchema: GenEnum<WorkerType> = /*@__PURE__*/
  enumDesc(file_ar_v1_worker, 0);

