// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "../UniversalAssetRegistry.sol";

/**
 * @title IAssetTypeHandler
 * @notice Interface for asset-specific validation and hooks
 */
interface IAssetTypeHandler {
    function validateAsset(address token) external view returns (bool);
    function getRequiredCompliance() external view returns (UniversalAssetRegistry.ComplianceLevel);
    function getDefaultLimits() external view returns (uint256 min, uint256 max);
    function preTransferHook(address from, address to, uint256 amount) external;
    function postTransferHook(address from, address to, uint256 amount) external;
}
