/**
 * @license
 * Copyright 2022-2024 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { MatterDefinition } from "../MatterDefinition.js";
import { DeviceTypeElement as DeviceType, RequirementElement as Requirement } from "../../elements/index.js";
const LaundryWasherDt = DeviceType({
  name: "LaundryWasher",
  id: 115,
  category: "Appliances",
  classification: "simple",
  details: "A Laundry Washer represents a device that is capable of laundering consumer items. Any laundry washer product may utilize this device type.\nA Laundry Washer shall be composed of at least one endpoint with the Laundry Washer device type.",
  xref: { document: "device", section: "13.1" },
  children: [
    Requirement({
      name: "Descriptor",
      id: 29,
      element: "serverCluster",
      children: [Requirement({ name: "DeviceTypeList", default: [{ deviceType: 115, revision: 1 }], element: "attribute" })]
    }),
    Requirement({
      name: "Identify",
      id: 3,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "13.1.4" }
    }),
    Requirement({
      name: "LaundryWasherMode",
      id: 81,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "13.1.4" },
      children: [
        Requirement({ name: "StartUpMode", conformance: "X", element: "attribute" }),
        Requirement({ name: "ONOFF", conformance: "X", element: "feature" })
      ]
    }),
    Requirement({
      name: "OnOff",
      id: 6,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "13.1.4" },
      children: [Requirement({ name: "DEADFRONTBEHAVIOR", conformance: "M", element: "feature" })]
    }),
    Requirement({
      name: "LaundryWasherControls",
      id: 83,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "13.1.4" }
    }),
    Requirement({
      name: "TemperatureControl",
      id: 86,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "13.1.4" }
    }),
    Requirement({
      name: "OperationalState",
      id: 96,
      conformance: "M",
      element: "serverCluster",
      xref: { document: "device", section: "13.1.4" }
    })
  ]
});
MatterDefinition.children.push(LaundryWasherDt);
export {
  LaundryWasherDt
};
//# sourceMappingURL=LaundryWasherDT.js.map
