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

interface StabilityPoolLike {
    function provideToSP(uint _amount, address _frontEndTag) external;
    function withdrawFromSP(uint _amount) external;
    function withdrawETHGainToTrove(address _upperHint, address _lowerHint) external;
    function getDepositorETHGain(address _depositor) external view returns (uint);
    function getDepositorLQTYGain(address _depositor) external view returns (uint);
    function getCompoundedLUSDDeposit(address _depositor) external view returns (uint);
}

interface BAMMLike {
    function deposit(uint lusdAmount) external;
    function withdraw(uint numShares) external;
    function balanceOf(address a) external view returns(uint);
    function totalSupply() external view returns(uint);
}