"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var CastingVideoPlayerDT_exports = {};
__export(CastingVideoPlayerDT_exports, {
  CastingVideoPlayerDt: () => CastingVideoPlayerDt
});
module.exports = __toCommonJS(CastingVideoPlayerDT_exports);
var import_MatterDefinition = require("../MatterDefinition.js");
var import_elements = require("../../elements/index.js");
/**
 * @license
 * Copyright 2022-2024 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
const CastingVideoPlayerDt = (0, import_elements.DeviceTypeElement)({
  name: "CastingVideoPlayer",
  id: 35,
  category: "Media",
  classification: "simple",
  details: "This defines conformance to the Casting Video Player device type.\nA Video Player (either Basic or Casting) represents a device that is able to play media to a physical output or to a display screen which is part of the device.\nA Casting Video Player has basic controls for playback (play, pause, etc.) and keypad input (up, down, number input), and is able to launch content.\nFor example, a Casting Video Player can be a smart TV device, a TV Set Top Box, or a content streaming device that provides input to another device like a TV or computer monitor.\nPlease see Video Player Architecture for additional Casting Video Player requirements relating to Video Player device endpoint composition, commissioning, feature representation in clusters, and UI context.",
  xref: { document: "device", section: "10.3" },
  children: [
    (0, import_elements.RequirementElement)({
      name: "Descriptor",
      id: 29,
      element: "serverCluster",
      children: [
        (0, import_elements.RequirementElement)({ name: "DeviceTypeList", default: [{ deviceType: 35, revision: 2 }], element: "attribute" })
      ]
    }),
    (0, import_elements.RequirementElement)({
      name: "OnOff",
      id: 6,
      conformance: "M",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "WakeOnLan",
      id: 1283,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "Channel",
      id: 1284,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "TargetNavigator",
      id: 1285,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "MediaPlayback",
      id: 1286,
      conformance: "M",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "MediaInput",
      id: 1287,
      conformance: "PhysicalInputs",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "LowPower",
      id: 1288,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "KeypadInput",
      id: 1289,
      conformance: "M",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "ContentLauncher",
      id: 1290,
      conformance: "M",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "AudioOutput",
      id: 1291,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "ApplicationLauncher",
      id: 1292,
      conformance: "ContentAppPlatform",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" },
      children: [(0, import_elements.RequirementElement)({ name: "APPLICATIONPLATFORM", conformance: "M", element: "feature" })]
    }),
    (0, import_elements.RequirementElement)({
      name: "AccountLogin",
      id: 1294,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "ContentControl",
      id: 1295,
      conformance: "P, O",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "Messages",
      id: 151,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "10.3.4" }
    }),
    (0, import_elements.FieldElement)({
      name: "conditions",
      type: "enum8",
      children: [
        (0, import_elements.FieldElement)({
          name: "ContentAppPlatform",
          description: "The device includes a Content App Platform. A Content App is usually an application built by a Content Provider. A Casting Video Player with a Content App Platform is able to launch Content Apps and represent these apps as separate endpoints.",
          xref: { document: "device", section: "10.3.3" }
        }),
        (0, import_elements.FieldElement)({
          name: "PhysicalInputs",
          description: "The device has physical inputs for media.",
          xref: { document: "device", section: "10.3.3" }
        })
      ]
    })
  ]
});
import_MatterDefinition.MatterDefinition.children.push(CastingVideoPlayerDt);
//# sourceMappingURL=CastingVideoPlayerDT.js.map
