[
  {
    "type": "function",
    "name": "deleteClass",
    "inputs": [
      {
        "name": "classId",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deleteClasses",
    "inputs": [
      {
        "name": "classIds",
        "type": "uint256[]",
        "internalType": "uint256[]"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deleteObject",
    "inputs": [
      {
        "name": "objectId",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deleteObjects",
    "inputs": [
      {
        "name": "objectIds",
        "type": "uint256[]",
        "internalType": "uint256[]"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "instantiate",
    "inputs": [
      {
        "name": "classId",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "objectId",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "accessRoleMember",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "registerClass",
    "inputs": [
      {
        "name": "classId",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "scopedSystems",
        "type": "bytes32[]",
        "internalType": "ResourceId[]"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "scopedRegisterClass",
    "inputs": [
      {
        "name": "classId",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "accessRoleMember",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "scopedSystems",
        "type": "bytes32[]",
        "internalType": "ResourceId[]"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "setClassAccessRole",
    "inputs": [
      {
        "name": "classId",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "newAccessRole",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "setObjectAccessRole",
    "inputs": [
      {
        "name": "objectId",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "newAccessRole",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "error",
    "name": "Entity_BadRoleConfirmation",
    "inputs": []
  },
  {
    "type": "error",
    "name": "Entity_EntityAlreadyExists",
    "inputs": [
      {
        "name": "entityId",
        "type": "uint256",
        "internalType": "uint256"
      }
    ]
  },
  {
    "type": "error",
    "name": "Entity_EntityDoesNotExist",
    "inputs": [
      {
        "name": "classId",
        "type": "uint256",
        "internalType": "uint256"
      }
    ]
  },
  {
    "type": "error",
    "name": "Entity_EntityRelationsFound",
    "inputs": [
      {
        "name": "classId",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "numOfTags",
        "type": "uint256",
        "internalType": "uint256"
      }
    ]
  },
  {
    "type": "error",
    "name": "Entity_InvalidEntityId",
    "inputs": [
      {
        "name": "entityId",
        "type": "uint256",
        "internalType": "uint256"
      }
    ]
  },
  {
    "type": "error",
    "name": "Entity_PropertyTagNotFound",
    "inputs": [
      {
        "name": "entityId",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "tagId",
        "type": "bytes32",
        "internalType": "TagId"
      }
    ]
  },
  {
    "type": "error",
    "name": "Entity_RoleDoesNotExist",
    "inputs": [
      {
        "name": "role",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ]
  }
]