Idle allows you to lend different underlying assets (eg. DAI, USDC ...) through the use of IdleTokens. So for each underlying asset supported there is a corresponding IdleToken (eg. IdleDAI, IdleUSDC ...) implemented as an IdleToken instance.
The available methods are:
mintIdleToken : lend asset in Idle and receive IdleTokens back
redeemIdleToken : redeem your assets + interests and burn IdleTokens
redeemInterestBearingTokens : redeem interest-bearing assets and burn IdleTokens
rebalance : read allocations from IdleRebalancer and change IdleToken pool allocations if needed
rebalanceWithGST: same as above but with GasToken enabled
tokenPrice : get current IdleToken price
getAPRs : get APRs from all implemented protocols
getAvgApr : get current IdleToken average APR
userAvgPrices: get avg price per IdleToken paid by a user (used to calculate earnings)
getGovTokensAmounts: get number of redeemable governance tokens a user can withdraw
openRebalance: submit new allocations and trigger a rebalance if it improves the apr (only supported in Best Yield strategy currently)