import { Address } from "../types"; import { providers, BigNumber, BigNumberish } from "ethers"; import { AaveGovernanceV2, AaveTokenV2Mintable, AaveV2Oracle, AaveV2PriceOracle, AaveV2LendingPool, AaveV2ProtocolDataProvider, AaveV2LendingPoolConfigurator, AaveV2LendingPoolAddressesProvider, AaveV2LendingPoolCollateralManager, AaveV2DefaultReserveInterestRateStrategy, AaveV2LendingRateOracle, AaveV2AToken, AaveV2StableDebtToken, AaveV2VariableDebtToken, Executor, GovernanceStrategy } from "../contracts/aaveV2"; export interface ReserveTokens { aToken: AaveV2AToken; stableDebtToken: AaveV2StableDebtToken; variableDebtToken: AaveV2VariableDebtToken; } export declare class AaveV2Fixture { private _deployer; private _ownerSigner; wethReserveTokens: ReserveTokens; daiReserveTokens: ReserveTokens; genericLogicLibraryAddress: Address; reserveLogicAddress: Address; validationLogicAddress: Address; marketId: string; lendingPool: AaveV2LendingPool; protocolDataProvider: AaveV2ProtocolDataProvider; lendingPoolConfigurator: AaveV2LendingPoolConfigurator; lendingPoolCollateralManager: AaveV2LendingPoolCollateralManager; lendingPoolAddressesProvider: AaveV2LendingPoolAddressesProvider; reserveInterestRateStrategy: AaveV2DefaultReserveInterestRateStrategy; priceOracle: AaveV2Oracle; fallbackOracle: AaveV2PriceOracle; lendingRateOracle: AaveV2LendingRateOracle; treasuryAddress: Address; incentivesControllerAddress: Address; aaveToken: AaveTokenV2Mintable; stkAaveToken: AaveTokenV2Mintable; aaveGovernanceV2: AaveGovernanceV2; executor: Executor; governanceStrategy: GovernanceStrategy; constructor(provider: providers.Web3Provider | providers.JsonRpcProvider, ownerAddress: Address); initialize(weth: Address, dai: Address, marketId?: string, daiPriceInEth?: BigNumber): Promise; createAndEnableReserve(underlyingAsset: Address, underlyingAssetSymbol: string, underlyingAssetDecimals: BigNumberish, baseLTV: BigNumberish, liquidationThreshold: BigNumberish, liquidationBonus: BigNumberish, reserveFactor: BigNumberish, borrowingEnabled: boolean, stableBorrowingEnabled: boolean, treasuryAddress?: Address, incentivesControllerAddress?: Address, interestRateStrategyAddress?: Address): Promise; setAssetPriceInOracle(asset: Address, priceInEth: BigNumberish): Promise; setMarketBorrowRate(asset: Address, rate: BigNumberish): Promise; getForkedAaveLendingPoolAddressesProvider(): AaveV2LendingPoolAddressesProvider; getForkedAaveV2ProtocolDataProvider(): AaveV2ProtocolDataProvider; private initializeGovernance; } //# sourceMappingURL=aaveV2Fixture.d.ts.map