// @generated by protoc-gen-es v2.6.3
// @generated from file plm/v1/process.proto (package plm.v1, syntax proto3)
/* eslint-disable */

import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
import type { Message } from "@bufbuild/protobuf";
import type { LocalizedPose } from "../../geometry/v1/pose_pb";
import type { SequenceMessage } from "./sequence_pb";
import type { TaskMessage } from "./task_pb";
import type { Timestamp } from "@bufbuild/protobuf/wkt";

/**
 * Describes the file plm/v1/process.proto.
 */
export declare const file_plm_v1_process: GenFile;

/**
 * @generated from message plm.v1.ProcessMessage
 */
export declare type ProcessMessage = Message<"plm.v1.ProcessMessage"> & {
  /**
   * @generated from field: string instance_id = 1;
   */
  instanceId: string;

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

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

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

  /**
   * @generated from field: plm.v1.ProcessType type = 5;
   */
  type: ProcessType;

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

  /**
   * @generated from field: string root_sequence_id = 7;
   */
  rootSequenceId: string;

  /**
   * @generated from field: repeated plm.v1.SequenceMessage sequences = 8;
   */
  sequences: SequenceMessage[];

  /**
   * @generated from field: repeated plm.v1.TaskMessage tasks = 9;
   */
  tasks: TaskMessage[];

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

  /**
   * @generated from field: google.protobuf.Timestamp initiated = 11;
   */
  initiated?: Timestamp;

  /**
   * @generated from field: google.protobuf.Timestamp ended = 12;
   */
  ended?: Timestamp;

  /**
   * @generated from field: string order_id = 13;
   */
  orderId: string;

  /**
   * @generated from field: string line_id = 14;
   */
  lineId: string;
};

/**
 * Describes the message plm.v1.ProcessMessage.
 * Use `create(ProcessMessageSchema)` to create a new message.
 */
export declare const ProcessMessageSchema: GenMessage<ProcessMessage>;

/**
 * Update published when the state of a process have changed
 *
 * @generated from message plm.v1.ProcessUpdatedMessage
 */
export declare type ProcessUpdatedMessage = Message<"plm.v1.ProcessUpdatedMessage"> & {
  /**
   * @generated from field: string instance_id = 1;
   */
  instanceId: string;

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

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

  /**
   * @generated from field: google.protobuf.Timestamp ended = 12;
   */
  ended?: Timestamp;
};

/**
 * Describes the message plm.v1.ProcessUpdatedMessage.
 * Use `create(ProcessUpdatedMessageSchema)` to create a new message.
 */
export declare const ProcessUpdatedMessageSchema: GenMessage<ProcessUpdatedMessage>;

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

  /**
   * @generated from enum value: PROCESS_TYPE_ASSEMBLY = 1;
   */
  ASSEMBLY = 1,

  /**
   * @generated from enum value: PROCESS_TYPE_DISASSEMBLY = 2;
   */
  DISASSEMBLY = 2,

  /**
   * @generated from enum value: PROCESS_TYPE_INSPECTION = 3;
   */
  INSPECTION = 3,
}

/**
 * Describes the enum plm.v1.ProcessType.
 */
export declare const ProcessTypeSchema: GenEnum<ProcessType>;

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

  /**
   * @generated from enum value: PROCESS_STATE_WAITING = 1;
   */
  WAITING = 1,

  /**
   * @generated from enum value: PROCESS_STATE_IN_PROGRESS = 2;
   */
  IN_PROGRESS = 2,

  /**
   * @generated from enum value: PROCESS_STATE_COMPLETED = 3;
   */
  COMPLETED = 3,

  /**
   * @generated from enum value: PROCESS_STATE_ABORTED = 4;
   */
  ABORTED = 4,
}

/**
 * Describes the enum plm.v1.ProcessState.
 */
export declare const ProcessStateSchema: GenEnum<ProcessState>;

