/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { ServerNodeStore } from "#storage/server/ServerNodeStore.js";
import { ClientNode } from "./ClientNode.js";
import { ClientGroupInteraction, InvalidGroupOperationError } from "./client/ClientGroupInteraction.js";
class ClientGroup extends ClientNode {
  #interaction;
  nodeType = "group";
  async get(_selector, _options) {
    throw new InvalidGroupOperationError("Groups do not support reading attributes");
  }
  async getStateOf(_type, _selector, _options) {
    throw new InvalidGroupOperationError("Groups do not support reading attributes");
  }
  get interaction() {
    if (this.#interaction === void 0) {
      this.#interaction = new ClientGroupInteraction(this);
    }
    return this.#interaction;
  }
  get store() {
    return this.env.get(ServerNodeStore).clientStores.storeForGroup(this);
  }
}
((ClientGroup2) => {
  function is(value) {
    return value instanceof ClientGroup2;
  }
  ClientGroup2.is = is;
})(ClientGroup || (ClientGroup = {}));
export {
  ClientGroup
};
//# sourceMappingURL=ClientGroup.js.map
