/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { IdentifyServer as BaseIdentifyServer } from "../behaviors/identify/IdentifyServer.js";
import {
  RefrigeratorAndTemperatureControlledCabinetModeServer as BaseRefrigeratorAndTemperatureControlledCabinetModeServer
} from "../behaviors/refrigerator-and-temperature-controlled-cabinet-mode/RefrigeratorAndTemperatureControlledCabinetModeServer.js";
import {
  RefrigeratorAlarmServer as BaseRefrigeratorAlarmServer
} from "../behaviors/refrigerator-alarm/RefrigeratorAlarmServer.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { SupportedBehaviors } from "../endpoint/properties/SupportedBehaviors.js";
var RefrigeratorRequirements;
((RefrigeratorRequirements2) => {
  RefrigeratorRequirements2.IdentifyServer = BaseIdentifyServer;
  RefrigeratorRequirements2.RefrigeratorAndTemperatureControlledCabinetModeServer = BaseRefrigeratorAndTemperatureControlledCabinetModeServer;
  RefrigeratorRequirements2.RefrigeratorAlarmServer = BaseRefrigeratorAlarmServer;
  RefrigeratorRequirements2.server = {
    optional: {
      Identify: RefrigeratorRequirements2.IdentifyServer,
      RefrigeratorAndTemperatureControlledCabinetMode: RefrigeratorRequirements2.RefrigeratorAndTemperatureControlledCabinetModeServer,
      RefrigeratorAlarm: RefrigeratorRequirements2.RefrigeratorAlarmServer
    },
    mandatory: {}
  };
})(RefrigeratorRequirements || (RefrigeratorRequirements = {}));
const RefrigeratorDeviceDefinition = MutableEndpoint({
  name: "Refrigerator",
  deviceType: 112,
  deviceRevision: 2,
  requirements: RefrigeratorRequirements,
  behaviors: SupportedBehaviors()
});
Object.freeze(RefrigeratorDeviceDefinition);
const RefrigeratorDevice = RefrigeratorDeviceDefinition;
export {
  RefrigeratorDevice,
  RefrigeratorDeviceDefinition,
  RefrigeratorRequirements
};
//# sourceMappingURL=refrigerator.js.map
