import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../../common"; export declare namespace DataTypes { type ReserveConfigurationMapStruct = { data: PromiseOrValue; }; type ReserveConfigurationMapStructOutput = [BigNumber] & { data: BigNumber; }; type ReserveDataStruct = { configuration: DataTypes.ReserveConfigurationMapStruct; liquidityIndex: PromiseOrValue; variableBorrowIndex: PromiseOrValue; currentLiquidityRate: PromiseOrValue; currentVariableBorrowRate: PromiseOrValue; currentStableBorrowRate: PromiseOrValue; lastUpdateTimestamp: PromiseOrValue; aTokenAddress: PromiseOrValue; stableDebtTokenAddress: PromiseOrValue; variableDebtTokenAddress: PromiseOrValue; interestRateStrategyAddress: PromiseOrValue; id: PromiseOrValue; }; type ReserveDataStructOutput = [ DataTypes.ReserveConfigurationMapStructOutput, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, number, string, string, string, string, number ] & { configuration: DataTypes.ReserveConfigurationMapStructOutput; liquidityIndex: BigNumber; variableBorrowIndex: BigNumber; currentLiquidityRate: BigNumber; currentVariableBorrowRate: BigNumber; currentStableBorrowRate: BigNumber; lastUpdateTimestamp: number; aTokenAddress: string; stableDebtTokenAddress: string; variableDebtTokenAddress: string; interestRateStrategyAddress: string; id: number; }; type UserConfigurationMapStruct = { data: PromiseOrValue; }; type UserConfigurationMapStructOutput = [BigNumber] & { data: BigNumber; }; } export interface LendingPoolInterface extends utils.Interface { functions: { "FLASHLOAN_PREMIUM_TOTAL()": FunctionFragment; "LENDINGPOOL_REVISION()": FunctionFragment; "MAX_NUMBER_RESERVES()": FunctionFragment; "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": FunctionFragment; "borrow(address,uint256,uint256,uint16,address)": FunctionFragment; "deposit(address,uint256,address,uint16)": FunctionFragment; "finalizeTransfer(address,address,address,uint256,uint256,uint256)": FunctionFragment; "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": FunctionFragment; "getAddressesProvider()": FunctionFragment; "getConfiguration(address)": FunctionFragment; "getReserveData(address)": FunctionFragment; "getReserveNormalizedIncome(address)": FunctionFragment; "getReserveNormalizedVariableDebt(address)": FunctionFragment; "getReservesList()": FunctionFragment; "getUserAccountData(address)": FunctionFragment; "getUserConfiguration(address)": FunctionFragment; "initReserve(address,address,address,address,address)": FunctionFragment; "initialize(address)": FunctionFragment; "liquidationCall(address,address,address,uint256,bool)": FunctionFragment; "paused()": FunctionFragment; "rebalanceStableBorrowRate(address,address)": FunctionFragment; "repay(address,uint256,uint256,address)": FunctionFragment; "setConfiguration(address,uint256)": FunctionFragment; "setPause(bool)": FunctionFragment; "setReserveInterestRateStrategyAddress(address,address)": FunctionFragment; "setUserUseReserveAsCollateral(address,bool)": FunctionFragment; "swapBorrowRateMode(address,uint256)": FunctionFragment; "withdraw(address,uint256,address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "FLASHLOAN_PREMIUM_TOTAL" | "LENDINGPOOL_REVISION" | "MAX_NUMBER_RESERVES" | "MAX_STABLE_RATE_BORROW_SIZE_PERCENT" | "borrow" | "deposit" | "finalizeTransfer" | "flashLoan" | "getAddressesProvider" | "getConfiguration" | "getReserveData" | "getReserveNormalizedIncome" | "getReserveNormalizedVariableDebt" | "getReservesList" | "getUserAccountData" | "getUserConfiguration" | "initReserve" | "initialize" | "liquidationCall" | "paused" | "rebalanceStableBorrowRate" | "repay" | "setConfiguration" | "setPause" | "setReserveInterestRateStrategyAddress" | "setUserUseReserveAsCollateral" | "swapBorrowRateMode" | "withdraw"): FunctionFragment; encodeFunctionData(functionFragment: "FLASHLOAN_PREMIUM_TOTAL", values?: undefined): string; encodeFunctionData(functionFragment: "LENDINGPOOL_REVISION", values?: undefined): string; encodeFunctionData(functionFragment: "MAX_NUMBER_RESERVES", values?: undefined): string; encodeFunctionData(functionFragment: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", values?: undefined): string; encodeFunctionData(functionFragment: "borrow", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "deposit", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "finalizeTransfer", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "flashLoan", values: [ PromiseOrValue, PromiseOrValue[], PromiseOrValue[], PromiseOrValue[], PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "getAddressesProvider", values?: undefined): string; encodeFunctionData(functionFragment: "getConfiguration", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "getReserveData", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "getReserveNormalizedIncome", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "getReserveNormalizedVariableDebt", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "getReservesList", values?: undefined): string; encodeFunctionData(functionFragment: "getUserAccountData", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "getUserConfiguration", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "initReserve", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "initialize", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "liquidationCall", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "paused", values?: undefined): string; encodeFunctionData(functionFragment: "rebalanceStableBorrowRate", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "repay", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "setConfiguration", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "setPause", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "setReserveInterestRateStrategyAddress", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "setUserUseReserveAsCollateral", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "swapBorrowRateMode", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "withdraw", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; decodeFunctionResult(functionFragment: "FLASHLOAN_PREMIUM_TOTAL", data: BytesLike): Result; decodeFunctionResult(functionFragment: "LENDINGPOOL_REVISION", data: BytesLike): Result; decodeFunctionResult(functionFragment: "MAX_NUMBER_RESERVES", data: BytesLike): Result; decodeFunctionResult(functionFragment: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "finalizeTransfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAddressesProvider", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getConfiguration", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReserveData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReserveNormalizedIncome", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReserveNormalizedVariableDebt", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReservesList", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getUserAccountData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getUserConfiguration", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initReserve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "liquidationCall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rebalanceStableBorrowRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setConfiguration", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setPause", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setReserveInterestRateStrategyAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setUserUseReserveAsCollateral", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swapBorrowRateMode", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; events: { "Borrow(address,address,address,uint256,uint256,uint256,uint16)": EventFragment; "Deposit(address,address,address,uint256,uint16)": EventFragment; "FlashLoan(address,address,address,uint256,uint256,uint16)": EventFragment; "LiquidationCall(address,address,address,uint256,uint256,address,bool)": EventFragment; "Paused()": EventFragment; "RebalanceStableBorrowRate(address,address)": EventFragment; "Repay(address,address,address,uint256)": EventFragment; "ReserveDataUpdated(address,uint256,uint256,uint256,uint256,uint256)": EventFragment; "ReserveUsedAsCollateralDisabled(address,address)": EventFragment; "ReserveUsedAsCollateralEnabled(address,address)": EventFragment; "Swap(address,address,uint256)": EventFragment; "Unpaused()": EventFragment; "Withdraw(address,address,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Borrow"): EventFragment; getEvent(nameOrSignatureOrTopic: "Deposit"): EventFragment; getEvent(nameOrSignatureOrTopic: "FlashLoan"): EventFragment; getEvent(nameOrSignatureOrTopic: "LiquidationCall"): EventFragment; getEvent(nameOrSignatureOrTopic: "Paused"): EventFragment; getEvent(nameOrSignatureOrTopic: "RebalanceStableBorrowRate"): EventFragment; getEvent(nameOrSignatureOrTopic: "Repay"): EventFragment; getEvent(nameOrSignatureOrTopic: "ReserveDataUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "ReserveUsedAsCollateralDisabled"): EventFragment; getEvent(nameOrSignatureOrTopic: "ReserveUsedAsCollateralEnabled"): EventFragment; getEvent(nameOrSignatureOrTopic: "Swap"): EventFragment; getEvent(nameOrSignatureOrTopic: "Unpaused"): EventFragment; getEvent(nameOrSignatureOrTopic: "Withdraw"): EventFragment; } export interface BorrowEventObject { reserve: string; user: string; onBehalfOf: string; amount: BigNumber; borrowRateMode: BigNumber; borrowRate: BigNumber; referral: number; } export type BorrowEvent = TypedEvent<[ string, string, string, BigNumber, BigNumber, BigNumber, number ], BorrowEventObject>; export type BorrowEventFilter = TypedEventFilter; export interface DepositEventObject { reserve: string; user: string; onBehalfOf: string; amount: BigNumber; referral: number; } export type DepositEvent = TypedEvent<[ string, string, string, BigNumber, number ], DepositEventObject>; export type DepositEventFilter = TypedEventFilter; export interface FlashLoanEventObject { target: string; initiator: string; asset: string; amount: BigNumber; premium: BigNumber; referralCode: number; } export type FlashLoanEvent = TypedEvent<[ string, string, string, BigNumber, BigNumber, number ], FlashLoanEventObject>; export type FlashLoanEventFilter = TypedEventFilter; export interface LiquidationCallEventObject { collateralAsset: string; debtAsset: string; user: string; debtToCover: BigNumber; liquidatedCollateralAmount: BigNumber; liquidator: string; receiveAToken: boolean; } export type LiquidationCallEvent = TypedEvent<[ string, string, string, BigNumber, BigNumber, string, boolean ], LiquidationCallEventObject>; export type LiquidationCallEventFilter = TypedEventFilter; export interface PausedEventObject { } export type PausedEvent = TypedEvent<[], PausedEventObject>; export type PausedEventFilter = TypedEventFilter; export interface RebalanceStableBorrowRateEventObject { reserve: string; user: string; } export type RebalanceStableBorrowRateEvent = TypedEvent<[ string, string ], RebalanceStableBorrowRateEventObject>; export type RebalanceStableBorrowRateEventFilter = TypedEventFilter; export interface RepayEventObject { reserve: string; user: string; repayer: string; amount: BigNumber; } export type RepayEvent = TypedEvent<[ string, string, string, BigNumber ], RepayEventObject>; export type RepayEventFilter = TypedEventFilter; export interface ReserveDataUpdatedEventObject { reserve: string; liquidityRate: BigNumber; stableBorrowRate: BigNumber; variableBorrowRate: BigNumber; liquidityIndex: BigNumber; variableBorrowIndex: BigNumber; } export type ReserveDataUpdatedEvent = TypedEvent<[ string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ], ReserveDataUpdatedEventObject>; export type ReserveDataUpdatedEventFilter = TypedEventFilter; export interface ReserveUsedAsCollateralDisabledEventObject { reserve: string; user: string; } export type ReserveUsedAsCollateralDisabledEvent = TypedEvent<[ string, string ], ReserveUsedAsCollateralDisabledEventObject>; export type ReserveUsedAsCollateralDisabledEventFilter = TypedEventFilter; export interface ReserveUsedAsCollateralEnabledEventObject { reserve: string; user: string; } export type ReserveUsedAsCollateralEnabledEvent = TypedEvent<[ string, string ], ReserveUsedAsCollateralEnabledEventObject>; export type ReserveUsedAsCollateralEnabledEventFilter = TypedEventFilter; export interface SwapEventObject { reserve: string; user: string; rateMode: BigNumber; } export type SwapEvent = TypedEvent<[ string, string, BigNumber ], SwapEventObject>; export type SwapEventFilter = TypedEventFilter; export interface UnpausedEventObject { } export type UnpausedEvent = TypedEvent<[], UnpausedEventObject>; export type UnpausedEventFilter = TypedEventFilter; export interface WithdrawEventObject { reserve: string; user: string; to: string; amount: BigNumber; } export type WithdrawEvent = TypedEvent<[ string, string, string, BigNumber ], WithdrawEventObject>; export type WithdrawEventFilter = TypedEventFilter; export interface LendingPool extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: LendingPoolInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { FLASHLOAN_PREMIUM_TOTAL(overrides?: CallOverrides): Promise<[BigNumber]>; LENDINGPOOL_REVISION(overrides?: CallOverrides): Promise<[BigNumber]>; MAX_NUMBER_RESERVES(overrides?: CallOverrides): Promise<[BigNumber]>; MAX_STABLE_RATE_BORROW_SIZE_PERCENT(overrides?: CallOverrides): Promise<[BigNumber]>; borrow(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, referralCode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deposit(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; finalizeTransfer(asset: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, balanceFromBefore: PromiseOrValue, balanceToBefore: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; flashLoan(receiverAddress: PromiseOrValue, assets: PromiseOrValue[], amounts: PromiseOrValue[], modes: PromiseOrValue[], onBehalfOf: PromiseOrValue, params: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getAddressesProvider(overrides?: CallOverrides): Promise<[string]>; getConfiguration(asset: PromiseOrValue, overrides?: CallOverrides): Promise<[DataTypes.ReserveConfigurationMapStructOutput]>; getReserveData(asset: PromiseOrValue, overrides?: CallOverrides): Promise<[DataTypes.ReserveDataStructOutput]>; getReserveNormalizedIncome(asset: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; getReserveNormalizedVariableDebt(asset: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; getReservesList(overrides?: CallOverrides): Promise<[string[]]>; getUserAccountData(user: PromiseOrValue, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { totalCollateralETH: BigNumber; totalDebtETH: BigNumber; availableBorrowsETH: BigNumber; currentLiquidationThreshold: BigNumber; ltv: BigNumber; healthFactor: BigNumber; }>; getUserConfiguration(user: PromiseOrValue, overrides?: CallOverrides): Promise<[DataTypes.UserConfigurationMapStructOutput]>; initReserve(asset: PromiseOrValue, aTokenAddress: PromiseOrValue, stableDebtAddress: PromiseOrValue, variableDebtAddress: PromiseOrValue, interestRateStrategyAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; initialize(provider: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; liquidationCall(collateralAsset: PromiseOrValue, debtAsset: PromiseOrValue, user: PromiseOrValue, debtToCover: PromiseOrValue, receiveAToken: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; paused(overrides?: CallOverrides): Promise<[boolean]>; rebalanceStableBorrowRate(asset: PromiseOrValue, user: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repay(asset: PromiseOrValue, amount: PromiseOrValue, rateMode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setConfiguration(asset: PromiseOrValue, configuration: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setPause(val: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setReserveInterestRateStrategyAddress(asset: PromiseOrValue, rateStrategyAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setUserUseReserveAsCollateral(asset: PromiseOrValue, useAsCollateral: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; swapBorrowRateMode(asset: PromiseOrValue, rateMode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdraw(asset: PromiseOrValue, amount: PromiseOrValue, to: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; FLASHLOAN_PREMIUM_TOTAL(overrides?: CallOverrides): Promise; LENDINGPOOL_REVISION(overrides?: CallOverrides): Promise; MAX_NUMBER_RESERVES(overrides?: CallOverrides): Promise; MAX_STABLE_RATE_BORROW_SIZE_PERCENT(overrides?: CallOverrides): Promise; borrow(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, referralCode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deposit(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; finalizeTransfer(asset: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, balanceFromBefore: PromiseOrValue, balanceToBefore: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; flashLoan(receiverAddress: PromiseOrValue, assets: PromiseOrValue[], amounts: PromiseOrValue[], modes: PromiseOrValue[], onBehalfOf: PromiseOrValue, params: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getAddressesProvider(overrides?: CallOverrides): Promise; getConfiguration(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getReserveData(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getReserveNormalizedIncome(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getReserveNormalizedVariableDebt(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getReservesList(overrides?: CallOverrides): Promise; getUserAccountData(user: PromiseOrValue, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { totalCollateralETH: BigNumber; totalDebtETH: BigNumber; availableBorrowsETH: BigNumber; currentLiquidationThreshold: BigNumber; ltv: BigNumber; healthFactor: BigNumber; }>; getUserConfiguration(user: PromiseOrValue, overrides?: CallOverrides): Promise; initReserve(asset: PromiseOrValue, aTokenAddress: PromiseOrValue, stableDebtAddress: PromiseOrValue, variableDebtAddress: PromiseOrValue, interestRateStrategyAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; initialize(provider: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; liquidationCall(collateralAsset: PromiseOrValue, debtAsset: PromiseOrValue, user: PromiseOrValue, debtToCover: PromiseOrValue, receiveAToken: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; paused(overrides?: CallOverrides): Promise; rebalanceStableBorrowRate(asset: PromiseOrValue, user: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repay(asset: PromiseOrValue, amount: PromiseOrValue, rateMode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setConfiguration(asset: PromiseOrValue, configuration: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setPause(val: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setReserveInterestRateStrategyAddress(asset: PromiseOrValue, rateStrategyAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setUserUseReserveAsCollateral(asset: PromiseOrValue, useAsCollateral: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; swapBorrowRateMode(asset: PromiseOrValue, rateMode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdraw(asset: PromiseOrValue, amount: PromiseOrValue, to: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; callStatic: { FLASHLOAN_PREMIUM_TOTAL(overrides?: CallOverrides): Promise; LENDINGPOOL_REVISION(overrides?: CallOverrides): Promise; MAX_NUMBER_RESERVES(overrides?: CallOverrides): Promise; MAX_STABLE_RATE_BORROW_SIZE_PERCENT(overrides?: CallOverrides): Promise; borrow(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, referralCode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: CallOverrides): Promise; deposit(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: CallOverrides): Promise; finalizeTransfer(asset: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, balanceFromBefore: PromiseOrValue, balanceToBefore: PromiseOrValue, overrides?: CallOverrides): Promise; flashLoan(receiverAddress: PromiseOrValue, assets: PromiseOrValue[], amounts: PromiseOrValue[], modes: PromiseOrValue[], onBehalfOf: PromiseOrValue, params: PromiseOrValue, referralCode: PromiseOrValue, overrides?: CallOverrides): Promise; getAddressesProvider(overrides?: CallOverrides): Promise; getConfiguration(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getReserveData(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getReserveNormalizedIncome(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getReserveNormalizedVariableDebt(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getReservesList(overrides?: CallOverrides): Promise; getUserAccountData(user: PromiseOrValue, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { totalCollateralETH: BigNumber; totalDebtETH: BigNumber; availableBorrowsETH: BigNumber; currentLiquidationThreshold: BigNumber; ltv: BigNumber; healthFactor: BigNumber; }>; getUserConfiguration(user: PromiseOrValue, overrides?: CallOverrides): Promise; initReserve(asset: PromiseOrValue, aTokenAddress: PromiseOrValue, stableDebtAddress: PromiseOrValue, variableDebtAddress: PromiseOrValue, interestRateStrategyAddress: PromiseOrValue, overrides?: CallOverrides): Promise; initialize(provider: PromiseOrValue, overrides?: CallOverrides): Promise; liquidationCall(collateralAsset: PromiseOrValue, debtAsset: PromiseOrValue, user: PromiseOrValue, debtToCover: PromiseOrValue, receiveAToken: PromiseOrValue, overrides?: CallOverrides): Promise; paused(overrides?: CallOverrides): Promise; rebalanceStableBorrowRate(asset: PromiseOrValue, user: PromiseOrValue, overrides?: CallOverrides): Promise; repay(asset: PromiseOrValue, amount: PromiseOrValue, rateMode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: CallOverrides): Promise; setConfiguration(asset: PromiseOrValue, configuration: PromiseOrValue, overrides?: CallOverrides): Promise; setPause(val: PromiseOrValue, overrides?: CallOverrides): Promise; setReserveInterestRateStrategyAddress(asset: PromiseOrValue, rateStrategyAddress: PromiseOrValue, overrides?: CallOverrides): Promise; setUserUseReserveAsCollateral(asset: PromiseOrValue, useAsCollateral: PromiseOrValue, overrides?: CallOverrides): Promise; swapBorrowRateMode(asset: PromiseOrValue, rateMode: PromiseOrValue, overrides?: CallOverrides): Promise; withdraw(asset: PromiseOrValue, amount: PromiseOrValue, to: PromiseOrValue, overrides?: CallOverrides): Promise; }; filters: { "Borrow(address,address,address,uint256,uint256,uint256,uint16)"(reserve?: PromiseOrValue | null, user?: null, onBehalfOf?: PromiseOrValue | null, amount?: null, borrowRateMode?: null, borrowRate?: null, referral?: PromiseOrValue | null): BorrowEventFilter; Borrow(reserve?: PromiseOrValue | null, user?: null, onBehalfOf?: PromiseOrValue | null, amount?: null, borrowRateMode?: null, borrowRate?: null, referral?: PromiseOrValue | null): BorrowEventFilter; "Deposit(address,address,address,uint256,uint16)"(reserve?: PromiseOrValue | null, user?: null, onBehalfOf?: PromiseOrValue | null, amount?: null, referral?: PromiseOrValue | null): DepositEventFilter; Deposit(reserve?: PromiseOrValue | null, user?: null, onBehalfOf?: PromiseOrValue | null, amount?: null, referral?: PromiseOrValue | null): DepositEventFilter; "FlashLoan(address,address,address,uint256,uint256,uint16)"(target?: PromiseOrValue | null, initiator?: PromiseOrValue | null, asset?: PromiseOrValue | null, amount?: null, premium?: null, referralCode?: null): FlashLoanEventFilter; FlashLoan(target?: PromiseOrValue | null, initiator?: PromiseOrValue | null, asset?: PromiseOrValue | null, amount?: null, premium?: null, referralCode?: null): FlashLoanEventFilter; "LiquidationCall(address,address,address,uint256,uint256,address,bool)"(collateralAsset?: PromiseOrValue | null, debtAsset?: PromiseOrValue | null, user?: PromiseOrValue | null, debtToCover?: null, liquidatedCollateralAmount?: null, liquidator?: null, receiveAToken?: null): LiquidationCallEventFilter; LiquidationCall(collateralAsset?: PromiseOrValue | null, debtAsset?: PromiseOrValue | null, user?: PromiseOrValue | null, debtToCover?: null, liquidatedCollateralAmount?: null, liquidator?: null, receiveAToken?: null): LiquidationCallEventFilter; "Paused()"(): PausedEventFilter; Paused(): PausedEventFilter; "RebalanceStableBorrowRate(address,address)"(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null): RebalanceStableBorrowRateEventFilter; RebalanceStableBorrowRate(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null): RebalanceStableBorrowRateEventFilter; "Repay(address,address,address,uint256)"(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null, repayer?: PromiseOrValue | null, amount?: null): RepayEventFilter; Repay(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null, repayer?: PromiseOrValue | null, amount?: null): RepayEventFilter; "ReserveDataUpdated(address,uint256,uint256,uint256,uint256,uint256)"(reserve?: PromiseOrValue | null, liquidityRate?: null, stableBorrowRate?: null, variableBorrowRate?: null, liquidityIndex?: null, variableBorrowIndex?: null): ReserveDataUpdatedEventFilter; ReserveDataUpdated(reserve?: PromiseOrValue | null, liquidityRate?: null, stableBorrowRate?: null, variableBorrowRate?: null, liquidityIndex?: null, variableBorrowIndex?: null): ReserveDataUpdatedEventFilter; "ReserveUsedAsCollateralDisabled(address,address)"(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null): ReserveUsedAsCollateralDisabledEventFilter; ReserveUsedAsCollateralDisabled(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null): ReserveUsedAsCollateralDisabledEventFilter; "ReserveUsedAsCollateralEnabled(address,address)"(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null): ReserveUsedAsCollateralEnabledEventFilter; ReserveUsedAsCollateralEnabled(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null): ReserveUsedAsCollateralEnabledEventFilter; "Swap(address,address,uint256)"(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null, rateMode?: null): SwapEventFilter; Swap(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null, rateMode?: null): SwapEventFilter; "Unpaused()"(): UnpausedEventFilter; Unpaused(): UnpausedEventFilter; "Withdraw(address,address,address,uint256)"(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null, to?: PromiseOrValue | null, amount?: null): WithdrawEventFilter; Withdraw(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null, to?: PromiseOrValue | null, amount?: null): WithdrawEventFilter; }; estimateGas: { FLASHLOAN_PREMIUM_TOTAL(overrides?: CallOverrides): Promise; LENDINGPOOL_REVISION(overrides?: CallOverrides): Promise; MAX_NUMBER_RESERVES(overrides?: CallOverrides): Promise; MAX_STABLE_RATE_BORROW_SIZE_PERCENT(overrides?: CallOverrides): Promise; borrow(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, referralCode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deposit(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; finalizeTransfer(asset: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, balanceFromBefore: PromiseOrValue, balanceToBefore: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; flashLoan(receiverAddress: PromiseOrValue, assets: PromiseOrValue[], amounts: PromiseOrValue[], modes: PromiseOrValue[], onBehalfOf: PromiseOrValue, params: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getAddressesProvider(overrides?: CallOverrides): Promise; getConfiguration(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getReserveData(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getReserveNormalizedIncome(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getReserveNormalizedVariableDebt(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getReservesList(overrides?: CallOverrides): Promise; getUserAccountData(user: PromiseOrValue, overrides?: CallOverrides): Promise; getUserConfiguration(user: PromiseOrValue, overrides?: CallOverrides): Promise; initReserve(asset: PromiseOrValue, aTokenAddress: PromiseOrValue, stableDebtAddress: PromiseOrValue, variableDebtAddress: PromiseOrValue, interestRateStrategyAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; initialize(provider: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; liquidationCall(collateralAsset: PromiseOrValue, debtAsset: PromiseOrValue, user: PromiseOrValue, debtToCover: PromiseOrValue, receiveAToken: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; paused(overrides?: CallOverrides): Promise; rebalanceStableBorrowRate(asset: PromiseOrValue, user: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repay(asset: PromiseOrValue, amount: PromiseOrValue, rateMode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setConfiguration(asset: PromiseOrValue, configuration: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setPause(val: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setReserveInterestRateStrategyAddress(asset: PromiseOrValue, rateStrategyAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setUserUseReserveAsCollateral(asset: PromiseOrValue, useAsCollateral: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; swapBorrowRateMode(asset: PromiseOrValue, rateMode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdraw(asset: PromiseOrValue, amount: PromiseOrValue, to: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { FLASHLOAN_PREMIUM_TOTAL(overrides?: CallOverrides): Promise; LENDINGPOOL_REVISION(overrides?: CallOverrides): Promise; MAX_NUMBER_RESERVES(overrides?: CallOverrides): Promise; MAX_STABLE_RATE_BORROW_SIZE_PERCENT(overrides?: CallOverrides): Promise; borrow(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, referralCode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deposit(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; finalizeTransfer(asset: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, balanceFromBefore: PromiseOrValue, balanceToBefore: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; flashLoan(receiverAddress: PromiseOrValue, assets: PromiseOrValue[], amounts: PromiseOrValue[], modes: PromiseOrValue[], onBehalfOf: PromiseOrValue, params: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getAddressesProvider(overrides?: CallOverrides): Promise; getConfiguration(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getReserveData(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getReserveNormalizedIncome(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getReserveNormalizedVariableDebt(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getReservesList(overrides?: CallOverrides): Promise; getUserAccountData(user: PromiseOrValue, overrides?: CallOverrides): Promise; getUserConfiguration(user: PromiseOrValue, overrides?: CallOverrides): Promise; initReserve(asset: PromiseOrValue, aTokenAddress: PromiseOrValue, stableDebtAddress: PromiseOrValue, variableDebtAddress: PromiseOrValue, interestRateStrategyAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; initialize(provider: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; liquidationCall(collateralAsset: PromiseOrValue, debtAsset: PromiseOrValue, user: PromiseOrValue, debtToCover: PromiseOrValue, receiveAToken: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; paused(overrides?: CallOverrides): Promise; rebalanceStableBorrowRate(asset: PromiseOrValue, user: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repay(asset: PromiseOrValue, amount: PromiseOrValue, rateMode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setConfiguration(asset: PromiseOrValue, configuration: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setPause(val: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setReserveInterestRateStrategyAddress(asset: PromiseOrValue, rateStrategyAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setUserUseReserveAsCollateral(asset: PromiseOrValue, useAsCollateral: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; swapBorrowRateMode(asset: PromiseOrValue, rateMode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdraw(asset: PromiseOrValue, amount: PromiseOrValue, to: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; }