/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { IdentifyServer as BaseIdentifyServer } from "../behaviors/identify/IdentifyServer.js";
import { SwitchServer as BaseSwitchServer } from "../behaviors/switch/SwitchServer.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { SupportedBehaviors } from "../endpoint/properties/SupportedBehaviors.js";
var GenericSwitchRequirements;
((GenericSwitchRequirements2) => {
  GenericSwitchRequirements2.IdentifyServer = BaseIdentifyServer;
  GenericSwitchRequirements2.SwitchServer = BaseSwitchServer;
  GenericSwitchRequirements2.server = { mandatory: { Identify: GenericSwitchRequirements2.IdentifyServer, Switch: GenericSwitchRequirements2.SwitchServer } };
})(GenericSwitchRequirements || (GenericSwitchRequirements = {}));
const GenericSwitchDeviceDefinition = MutableEndpoint({
  name: "GenericSwitch",
  deviceType: 15,
  deviceRevision: 3,
  requirements: GenericSwitchRequirements,
  behaviors: SupportedBehaviors(GenericSwitchRequirements.server.mandatory.Identify)
});
Object.freeze(GenericSwitchDeviceDefinition);
const GenericSwitchDevice = GenericSwitchDeviceDefinition;
export {
  GenericSwitchDevice,
  GenericSwitchDeviceDefinition,
  GenericSwitchRequirements
};
//# sourceMappingURL=generic-switch.js.map
