/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { MatterDefinition } from "../MatterDefinition.js";
import {
  ClusterElement as Cluster,
  AttributeElement as Attribute,
  CommandElement as Command,
  DatatypeElement as Datatype,
  FieldElement as Field
} from "../../elements/index.js";
const RvcOperationalState = Cluster(
  { name: "RvcOperationalState", id: 97, type: "OperationalState", classification: "application" },
  Attribute({ name: "ClusterRevision", id: 65533, type: "ClusterRevision", default: 3 }),
  Command({ name: "Pause", id: 0 }),
  Command({ name: "Stop", id: 1, conformance: "X" }),
  Command({ name: "Start", id: 2, conformance: "X" }),
  Command({ name: "Resume", id: 3 }),
  Command({ name: "OperationalCommandResponse", id: 4 }),
  Command({
    name: "GoHome",
    id: 128,
    access: "O",
    conformance: "O",
    direction: "request",
    response: "OperationalCommandResponse"
  }),
  Datatype(
    { name: "OperationalStateEnum", type: "enum8" },
    Field({ name: "Stopped", id: 0, conformance: "M" }),
    Field({ name: "Running", id: 1, conformance: "M" }),
    Field({ name: "Paused", id: 2, conformance: "M" }),
    Field({ name: "Error", id: 3, conformance: "M" }),
    Field({ name: "SeekingCharger", id: 64, conformance: "M" }),
    Field({ name: "Charging", id: 65, conformance: "M" }),
    Field({ name: "Docked", id: 66, conformance: "M" }),
    Field({ name: "EmptyingDustBin", id: 67, conformance: "O" }),
    Field({ name: "CleaningMop", id: 68, conformance: "O" }),
    Field({ name: "FillingWaterTank", id: 69, conformance: "O" }),
    Field({ name: "UpdatingMaps", id: 70, conformance: "O" })
  ),
  Datatype(
    { name: "ErrorStateEnum", type: "enum8" },
    Field({ name: "NoError", id: 0, conformance: "M" }),
    Field({ name: "UnableToStartOrResume", id: 1, conformance: "M" }),
    Field({ name: "UnableToCompleteOperation", id: 2, conformance: "M" }),
    Field({ name: "CommandInvalidInState", id: 3, conformance: "M" }),
    Field({ name: "FailedToFindChargingDock", id: 64, conformance: "M" }),
    Field({ name: "Stuck", id: 65, conformance: "M" }),
    Field({ name: "DustBinMissing", id: 66, conformance: "M" }),
    Field({ name: "DustBinFull", id: 67, conformance: "M" }),
    Field({ name: "WaterTankEmpty", id: 68, conformance: "M" }),
    Field({ name: "WaterTankMissing", id: 69, conformance: "M" }),
    Field({ name: "WaterTankLidOpen", id: 70, conformance: "M" }),
    Field({ name: "MopCleaningPadMissing", id: 71, conformance: "M" }),
    Field({ name: "LowBattery", id: 72, conformance: "M" }),
    Field({ name: "CannotReachTargetArea", id: 73, conformance: "M" }),
    Field({ name: "DirtyWaterTankFull", id: 74, conformance: "M" }),
    Field({ name: "DirtyWaterTankMissing", id: 75, conformance: "M" }),
    Field({ name: "WheelsJammed", id: 76, conformance: "M" }),
    Field({ name: "BrushJammed", id: 77, conformance: "M" }),
    Field({ name: "NavigationSensorObscured", id: 78, conformance: "M" })
  )
);
MatterDefinition.children.push(RvcOperationalState);
export {
  RvcOperationalState
};
//# sourceMappingURL=rvc-operational-state.element.js.map
