interface IBZxLoanToken {
    function transfer(address dst, uint256 amount) external returns (bool);
    function transferFrom(address src, address dst, uint256 amount) external returns (bool);
    function approve(address spender, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function balanceOf(address owner) external view returns (uint256);

    function loanTokenAddress() external view returns (address);
    function tokenPrice() external view returns (uint256 price);
//    function mintWithEther(address receiver) external payable returns (uint256 mintAmount);
    function mint(address receiver, uint256 depositAmount) external returns (uint256 mintAmount);
//    function burnToEther(address payable receiver, uint256 burnAmount) external returns (uint256 loanAmountPaid);
    function burn(address receiver, uint256 burnAmount) external returns (uint256 loanAmountPaid);
}
function burn(address receiver, uint256 burnAmount) external returns (uint256 loanAmountPaid);

//    function burnToEther(address payable receiver, uint256 burnAmount) external returns (uint256 loanAmountPaid);