/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { IdentifyServer as BaseIdentifyServer } from "../behaviors/identify/IdentifyServer.js";
import { DoorLockServer as BaseDoorLockServer } from "../behaviors/door-lock/DoorLockServer.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { SupportedBehaviors } from "../endpoint/properties/SupportedBehaviors.js";
var DoorLockRequirements;
((DoorLockRequirements2) => {
  DoorLockRequirements2.IdentifyServer = BaseIdentifyServer;
  DoorLockRequirements2.DoorLockServer = BaseDoorLockServer;
  DoorLockRequirements2.server = { mandatory: { Identify: DoorLockRequirements2.IdentifyServer, DoorLock: DoorLockRequirements2.DoorLockServer } };
})(DoorLockRequirements || (DoorLockRequirements = {}));
const DoorLockDeviceDefinition = MutableEndpoint({
  name: "DoorLock",
  deviceType: 10,
  deviceRevision: 4,
  requirements: DoorLockRequirements,
  behaviors: SupportedBehaviors(
    DoorLockRequirements.server.mandatory.Identify,
    DoorLockRequirements.server.mandatory.DoorLock
  )
});
Object.freeze(DoorLockDeviceDefinition);
const DoorLockDevice = DoorLockDeviceDefinition;
export {
  DoorLockDevice,
  DoorLockDeviceDefinition,
  DoorLockRequirements
};
//# sourceMappingURL=door-lock.js.map
