// SPDX-License-Identifier: CC0-1.0
pragma solidity ^0.8.0;

interface IERC5496 {
    event PrivilegeAssigned(uint tokenId, uint privId, address user, uint64 expires);  
    event PrivilegeTotalChanged(uint newTotal, uint oldTotal);
    function setPrivilege(uint256 tokenId, uint privId, address user, uint64 expires) external;
    function privilegeExpires(uint256 tokenId, uint256 privId) external view returns(uint256);
    function hasPrivilege(uint256 tokenId, uint256 privId, address user) external view returns(bool);
}
