/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { FlowMeasurementServer as BaseFlowMeasurementServer } from "../behaviors/flow-measurement/FlowMeasurementServer.js";
import { IdentifyServer as BaseIdentifyServer } from "../behaviors/identify/IdentifyServer.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { SupportedBehaviors } from "../endpoint/properties/SupportedBehaviors.js";
var FlowSensorRequirements;
((FlowSensorRequirements2) => {
  FlowSensorRequirements2.FlowMeasurementServer = BaseFlowMeasurementServer;
  FlowSensorRequirements2.IdentifyServer = BaseIdentifyServer;
  FlowSensorRequirements2.server = { mandatory: { FlowMeasurement: FlowSensorRequirements2.FlowMeasurementServer, Identify: FlowSensorRequirements2.IdentifyServer } };
})(FlowSensorRequirements || (FlowSensorRequirements = {}));
const FlowSensorDeviceDefinition = MutableEndpoint({
  name: "FlowSensor",
  deviceType: 774,
  deviceRevision: 2,
  requirements: FlowSensorRequirements,
  behaviors: SupportedBehaviors(
    FlowSensorRequirements.server.mandatory.FlowMeasurement,
    FlowSensorRequirements.server.mandatory.Identify
  )
});
Object.freeze(FlowSensorDeviceDefinition);
const FlowSensorDevice = FlowSensorDeviceDefinition;
export {
  FlowSensorDevice,
  FlowSensorDeviceDefinition,
  FlowSensorRequirements
};
//# sourceMappingURL=flow-sensor.js.map
