// SPDX-License-Identifier: MIT pragma solidity 0.8.6; interface IOperatorStore { event SetOperator( address indexed operator, address indexed account, uint256 indexed domain, uint256[] permissionIndexes, uint256 packed ); function permissionsOf( address _operator, address _account, uint256 _domain ) external view returns (uint256); function hasPermission( address _operator, address _account, uint256 _domain, uint256 _permissionIndex ) external view returns (bool); function hasPermissions( address _operator, address _account, uint256 _domain, uint256[] calldata _permissionIndexes ) external view returns (bool); function setOperator( address _operator, uint256 _domain, uint256[] calldata _permissionIndexes ) external; function setOperators( address[] calldata _operators, uint256[] calldata _domains, uint256[][] calldata _permissionIndexes ) external; }