/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import {
  JointFabricDatastoreServer as BaseJointFabricDatastoreServer
} from "../behaviors/joint-fabric-datastore/JointFabricDatastoreServer.js";
import {
  JointFabricAdministratorServer as BaseJointFabricAdministratorServer
} from "../behaviors/joint-fabric-administrator/JointFabricAdministratorServer.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { DeviceClassification } from "#model";
import { SupportedBehaviors } from "../endpoint/properties/SupportedBehaviors.js";
var JointFabricAdministratorRequirements;
((JointFabricAdministratorRequirements2) => {
  JointFabricAdministratorRequirements2.JointFabricDatastoreServer = BaseJointFabricDatastoreServer;
  JointFabricAdministratorRequirements2.JointFabricAdministratorServer = BaseJointFabricAdministratorServer;
  JointFabricAdministratorRequirements2.server = {
    mandatory: {
      JointFabricDatastore: JointFabricAdministratorRequirements2.JointFabricDatastoreServer,
      JointFabricAdministrator: JointFabricAdministratorRequirements2.JointFabricAdministratorServer
    }
  };
})(JointFabricAdministratorRequirements || (JointFabricAdministratorRequirements = {}));
const JointFabricAdministratorEndpointDefinition = MutableEndpoint({
  name: "JointFabricAdministrator",
  deviceType: 304,
  deviceRevision: 1,
  deviceClass: DeviceClassification.Utility,
  requirements: JointFabricAdministratorRequirements,
  behaviors: SupportedBehaviors(
    JointFabricAdministratorRequirements.server.mandatory.JointFabricDatastore,
    JointFabricAdministratorRequirements.server.mandatory.JointFabricAdministrator
  )
});
Object.freeze(JointFabricAdministratorEndpointDefinition);
const JointFabricAdministratorEndpoint = JointFabricAdministratorEndpointDefinition;
export {
  JointFabricAdministratorEndpoint,
  JointFabricAdministratorEndpointDefinition,
  JointFabricAdministratorRequirements
};
//# sourceMappingURL=joint-fabric-administrator.js.map
