/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { IdentifyServer as BaseIdentifyServer } from "../behaviors/identify/IdentifyServer.js";
import {
  WindowCoveringBehavior as BaseWindowCoveringBehavior
} from "../behaviors/window-covering/WindowCoveringBehavior.js";
import { IdentifyBehavior as BaseIdentifyBehavior } from "../behaviors/identify/IdentifyBehavior.js";
import { GroupsBehavior as BaseGroupsBehavior } from "../behaviors/groups/GroupsBehavior.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { SupportedBehaviors } from "../endpoint/properties/SupportedBehaviors.js";
var WindowCoveringControllerRequirements;
((WindowCoveringControllerRequirements2) => {
  WindowCoveringControllerRequirements2.IdentifyServer = BaseIdentifyServer;
  WindowCoveringControllerRequirements2.WindowCoveringBehavior = BaseWindowCoveringBehavior;
  WindowCoveringControllerRequirements2.IdentifyBehavior = BaseIdentifyBehavior;
  WindowCoveringControllerRequirements2.GroupsBehavior = BaseGroupsBehavior;
  WindowCoveringControllerRequirements2.server = { optional: { Identify: WindowCoveringControllerRequirements2.IdentifyServer }, mandatory: {} };
  WindowCoveringControllerRequirements2.client = {
    mandatory: { WindowCovering: WindowCoveringControllerRequirements2.WindowCoveringBehavior },
    optional: { Identify: WindowCoveringControllerRequirements2.IdentifyBehavior, Groups: WindowCoveringControllerRequirements2.GroupsBehavior }
  };
})(WindowCoveringControllerRequirements || (WindowCoveringControllerRequirements = {}));
const WindowCoveringControllerDeviceDefinition = MutableEndpoint({
  name: "WindowCoveringController",
  deviceType: 515,
  deviceRevision: 4,
  requirements: WindowCoveringControllerRequirements,
  behaviors: SupportedBehaviors()
});
Object.freeze(WindowCoveringControllerDeviceDefinition);
const WindowCoveringControllerDevice = WindowCoveringControllerDeviceDefinition;
export {
  WindowCoveringControllerDevice,
  WindowCoveringControllerDeviceDefinition,
  WindowCoveringControllerRequirements
};
//# sourceMappingURL=window-covering-controller.js.map
