interface IStrategyGarden {
    /* ============ Write ============ */

    function finalizeStrategy(
        uint256 _profits,
        int256 _returns,
        uint256 _burningAmount
    ) external;

    function allocateCapitalToStrategy(uint256 _capital) external;

    function expireCandidateStrategy(address _strategy) external;

    function addStrategy(
        string memory _name,
        string memory _symbol,
        uint256[] calldata _stratParams,
        uint8[] calldata _opTypes,
        address[] calldata _opIntegrations,
        bytes calldata _opEncodedDatas
    ) external;

    function updateStrategyRewards(
        address _strategy,
        uint256 _newTotalAmount,
        uint256 _newCapitalReturned
    ) external;

    function payKeeper(address payable _keeper, uint256 _fee) external;
}
/**
 * @title IStrategyGarden
 *
 * Interface for functions of the garden
 */
function finalizeStrategy(
    uint256 _profits,
    int256 _returns,
    uint256 _burningAmount
) external;

/* ============ Write ============ */