function checkAllRules( uint256 balanceFrom, uint256 balanceTo, address _from, address _to, address _sender, uint256 _amount ) external returns (bool);
function isFeeActive() external view returns (bool);
function getApplicableFees(address _from, uint256 _balanceFrom) external view returns (address[] memory feeCollectorAccounts, int24[] memory feePercentages);
function checkNonTaggedRules(address _from, address _to, uint256 _amount, ActionTypes action) external;
function checkTaggedAndTradingRules( uint256 _balanceFrom, uint256 _balanceTo, address _from, address _to, uint256 _amount, ActionTypes action ) external;
function checkTradingRules( address _from, address _to, bytes32[] memory fromTags, bytes32[] memory toTags, uint256 _amount, ActionTypes action ) external;