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

import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
import type { LocalizedPose } from "../../geometry/v1/pose_pb.ts";
import { file_geometry_v1_pose } from "../../geometry/v1/pose_pb.ts";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file plm/v1/sequence.proto.
 */
export const file_plm_v1_sequence: GenFile = /*@__PURE__*/
  fileDesc("ChVwbG0vdjEvc2VxdWVuY2UucHJvdG8SBnBsbS52MSKuAgoPU2VxdWVuY2VNZXNzYWdlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSFwoPc2VxdWVuY2VfbnVtYmVyGAQgASgDEikKBWZyYW1lGAUgASgLMhouZ2VvbWV0cnkudjEuTG9jYWxpemVkUG9zZRIRCglwYXJlbnRfaWQYBiABKAkSFAoMc2VxdWVuY2VfaWRzGAcgAygJEhAKCHRhc2tfaWRzGAggAygJEhMKC2Fzc2lnbmVkX3RvGAkgAygJEiQKBXN0YXRlGAogASgOMhUucGxtLnYxLlNlcXVlbmNlU3RhdGUSFwoPY29tcGxldGVkX3Rhc2tzGAsgASgDEhkKEWNhbl9idWxrX2NvbXBsZXRlGAwgASgIIoEBChZTZXF1ZW5jZVVwZGF0ZWRNZXNzYWdlEhMKC3NlcXVlbmNlX2lkGAEgASgJEhMKC2Fzc2lnbmVkX3RvGAIgAygJEiQKBXN0YXRlGAMgASgOMhUucGxtLnYxLlNlcXVlbmNlU3RhdGUSFwoPY29tcGxldGVkX3Rhc2tzGAQgASgDKrIBCg1TZXF1ZW5jZVN0YXRlEh4KGlNFUVVFTkNFX1NUQVRFX1VOU1BFQ0lGSUVEEAASJwojU0VRVUVOQ0VfU1RBVEVfTUlTU0lOR19QUkVDT05ESVRJT04QARIaChZTRVFVRU5DRV9TVEFURV9XQUlUSU5HEAISHgoaU0VRVUVOQ0VfU1RBVEVfSU5fUFJPR1JFU1MQAxIcChhTRVFVRU5DRV9TVEFURV9DT01QTEVURUQQBEKQAQoKY29tLnBsbS52MUINU2VxdWVuY2VQcm90b1ABWjFnaXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvcGxtL3YxO3BsbXYxogIDUFhYqgIPTWVzc2FnZXMuUGxtLlYxygIGUGxtXFYx4gISUGxtXFYxXEdQQk1ldGFkYXRh6gIHUGxtOjpWMWIGcHJvdG8z", [file_geometry_v1_pose]);

/**
 * @generated from message plm.v1.SequenceMessage
 */
export type SequenceMessage = Message<"plm.v1.SequenceMessage"> & {
  /**
   * @generated from field: string id = 1;
   */
  id: string;

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

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

  /**
   * @generated from field: int64 sequence_number = 4;
   */
  sequenceNumber: bigint;

  /**
   * @generated from field: geometry.v1.LocalizedPose frame = 5;
   */
  frame?: LocalizedPose;

  /**
   * @generated from field: string parent_id = 6;
   */
  parentId: string;

  /**
   * @generated from field: repeated string sequence_ids = 7;
   */
  sequenceIds: string[];

  /**
   * @generated from field: repeated string task_ids = 8;
   */
  taskIds: string[];

  /**
   * @generated from field: repeated string assigned_to = 9;
   */
  assignedTo: string[];

  /**
   * @generated from field: plm.v1.SequenceState state = 10;
   */
  state: SequenceState;

  /**
   * @generated from field: int64 completed_tasks = 11;
   */
  completedTasks: bigint;

  /**
   * @generated from field: bool can_bulk_complete = 12;
   */
  canBulkComplete: boolean;
};

/**
 * Describes the message plm.v1.SequenceMessage.
 * Use `create(SequenceMessageSchema)` to create a new message.
 */
export const SequenceMessageSchema: GenMessage<SequenceMessage> = /*@__PURE__*/
  messageDesc(file_plm_v1_sequence, 0);

/**
 * Update published when the state of a sequence have changed
 *
 * @generated from message plm.v1.SequenceUpdatedMessage
 */
export type SequenceUpdatedMessage = Message<"plm.v1.SequenceUpdatedMessage"> & {
  /**
   * @generated from field: string sequence_id = 1;
   */
  sequenceId: string;

  /**
   * @generated from field: repeated string assigned_to = 2;
   */
  assignedTo: string[];

  /**
   * @generated from field: plm.v1.SequenceState state = 3;
   */
  state: SequenceState;

  /**
   * @generated from field: int64 completed_tasks = 4;
   */
  completedTasks: bigint;
};

/**
 * Describes the message plm.v1.SequenceUpdatedMessage.
 * Use `create(SequenceUpdatedMessageSchema)` to create a new message.
 */
export const SequenceUpdatedMessageSchema: GenMessage<SequenceUpdatedMessage> = /*@__PURE__*/
  messageDesc(file_plm_v1_sequence, 1);

/**
 * @generated from enum plm.v1.SequenceState
 */
export enum SequenceState {
  /**
   * @generated from enum value: SEQUENCE_STATE_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: SEQUENCE_STATE_MISSING_PRECONDITION = 1;
   */
  MISSING_PRECONDITION = 1,

  /**
   * @generated from enum value: SEQUENCE_STATE_WAITING = 2;
   */
  WAITING = 2,

  /**
   * @generated from enum value: SEQUENCE_STATE_IN_PROGRESS = 3;
   */
  IN_PROGRESS = 3,

  /**
   * @generated from enum value: SEQUENCE_STATE_COMPLETED = 4;
   */
  COMPLETED = 4,
}

/**
 * Describes the enum plm.v1.SequenceState.
 */
export const SequenceStateSchema: GenEnum<SequenceState> = /*@__PURE__*/
  enumDesc(file_plm_v1_sequence, 0);

