// @generated by protoc-gen-es v2.6.3
// @generated from file ar/v1/environment.proto (package ar.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 { Property } from "./property_pb";

/**
 * Describes the file ar/v1/environment.proto.
 */
export declare const file_ar_v1_environment: GenFile;

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

  /**
   * @generated from field: geometry.v1.LocalizedPose location = 2;
   */
  location?: LocalizedPose;
};

/**
 * Describes the message ar.v1.MarkerLocation.
 * Use `create(MarkerLocationSchema)` to create a new message.
 */
export declare const MarkerLocationSchema: GenMessage<MarkerLocation>;

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

  /**
   * @generated from field: geometry.v1.LocalizedPose location = 2;
   */
  location?: LocalizedPose;
};

/**
 * Describes the message ar.v1.AgentLocation.
 * Use `create(AgentLocationSchema)` to create a new message.
 */
export declare const AgentLocationSchema: GenMessage<AgentLocation>;

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

  /**
   * @generated from field: geometry.v1.LocalizedPose location = 2;
   */
  location?: LocalizedPose;
};

/**
 * Describes the message ar.v1.PartLocation.
 * Use `create(PartLocationSchema)` to create a new message.
 */
export declare const PartLocationSchema: GenMessage<PartLocation>;

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

  /**
   * @generated from field: geometry.v1.LocalizedPose location = 2;
   */
  location?: LocalizedPose;
};

/**
 * Describes the message ar.v1.ToolLocation.
 * Use `create(ToolLocationSchema)` to create a new message.
 */
export declare const ToolLocationSchema: GenMessage<ToolLocation>;

/**
 * @generated from message ar.v1.EnvironmentMessage
 */
export declare type EnvironmentMessage = Message<"ar.v1.EnvironmentMessage"> & {
  /**
   * @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.EnvironmentType type = 5;
   */
  type: EnvironmentType;

  /**
   * Markers associated with this environment.
   *
   * @generated from field: repeated ar.v1.MarkerLocation markers = 6;
   */
  markers: MarkerLocation[];

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

  /**
   * @generated from field: repeated ar.v1.PartLocation parts = 8;
   */
  parts: PartLocation[];

  /**
   * @generated from field: repeated ar.v1.ToolLocation tools = 9;
   */
  tools: ToolLocation[];

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

/**
 * Describes the message ar.v1.EnvironmentMessage.
 * Use `create(EnvironmentMessageSchema)` to create a new message.
 */
export declare const EnvironmentMessageSchema: GenMessage<EnvironmentMessage>;

/**
 * @generated from message ar.v1.EnvironmentsMessage
 */
export declare type EnvironmentsMessage = Message<"ar.v1.EnvironmentsMessage"> & {
  /**
   * @generated from field: repeated ar.v1.EnvironmentMessage environments = 1;
   */
  environments: EnvironmentMessage[];
};

/**
 * Describes the message ar.v1.EnvironmentsMessage.
 * Use `create(EnvironmentsMessageSchema)` to create a new message.
 */
export declare const EnvironmentsMessageSchema: GenMessage<EnvironmentsMessage>;

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

  /**
   * @generated from enum value: ENVIRONMENT_TYPE_STORAGE = 1;
   */
  STORAGE = 1,

  /**
   * @generated from enum value: ENVIRONMENT_TYPE_MANUAL_STATION = 2;
   */
  MANUAL_STATION = 2,

  /**
   * @generated from enum value: ENVIRONMENT_TYPE_AUTOMATIC_STATION = 3;
   */
  AUTOMATIC_STATION = 3,

  /**
   * @generated from enum value: ENVIRONMENT_TYPE_HYBRID_STATION = 4;
   */
  HYBRID_STATION = 4,

  /**
   * @generated from enum value: ENVIRONMENT_TYPE_MANUAL_LINE = 5;
   */
  MANUAL_LINE = 5,

  /**
   * @generated from enum value: ENVIRONMENT_TYPE_AUTOMATIC_LINE = 6;
   */
  AUTOMATIC_LINE = 6,

  /**
   * @generated from enum value: ENVIRONMENT_TYPE_HYBRID_LINE = 7;
   */
  HYBRID_LINE = 7,
}

/**
 * Describes the enum ar.v1.EnvironmentType.
 */
export declare const EnvironmentTypeSchema: GenEnum<EnvironmentType>;

