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 EModeCategoryStruct = { ltv: PromiseOrValue; liquidationThreshold: PromiseOrValue; liquidationBonus: PromiseOrValue; priceSource: PromiseOrValue; label: PromiseOrValue; }; type EModeCategoryStructOutput = [ number, number, number, string, string ] & { ltv: number; liquidationThreshold: number; liquidationBonus: number; priceSource: string; label: string; }; type ReserveConfigurationMapStruct = { data: PromiseOrValue; }; type ReserveConfigurationMapStructOutput = [BigNumber] & { data: BigNumber; }; type ReserveDataStruct = { configuration: DataTypes.ReserveConfigurationMapStruct; liquidityIndex: PromiseOrValue; currentLiquidityRate: PromiseOrValue; variableBorrowIndex: PromiseOrValue; currentVariableBorrowRate: PromiseOrValue; currentStableBorrowRate: PromiseOrValue; lastUpdateTimestamp: PromiseOrValue; id: PromiseOrValue; aTokenAddress: PromiseOrValue; stableDebtTokenAddress: PromiseOrValue; variableDebtTokenAddress: PromiseOrValue; interestRateStrategyAddress: PromiseOrValue; accruedToTreasury: PromiseOrValue; unbacked: PromiseOrValue; isolationModeTotalDebt: PromiseOrValue; }; type ReserveDataStructOutput = [ DataTypes.ReserveConfigurationMapStructOutput, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, number, number, string, string, string, string, BigNumber, BigNumber, BigNumber ] & { configuration: DataTypes.ReserveConfigurationMapStructOutput; liquidityIndex: BigNumber; currentLiquidityRate: BigNumber; variableBorrowIndex: BigNumber; currentVariableBorrowRate: BigNumber; currentStableBorrowRate: BigNumber; lastUpdateTimestamp: number; id: number; aTokenAddress: string; stableDebtTokenAddress: string; variableDebtTokenAddress: string; interestRateStrategyAddress: string; accruedToTreasury: BigNumber; unbacked: BigNumber; isolationModeTotalDebt: BigNumber; }; type UserConfigurationMapStruct = { data: PromiseOrValue; }; type UserConfigurationMapStructOutput = [BigNumber] & { data: BigNumber; }; } export interface AaveV3PoolInterface extends utils.Interface { functions: { "ADDRESSES_PROVIDER()": FunctionFragment; "BRIDGE_PROTOCOL_FEE()": FunctionFragment; "FLASHLOAN_PREMIUM_TOTAL()": FunctionFragment; "FLASHLOAN_PREMIUM_TO_PROTOCOL()": FunctionFragment; "MAX_NUMBER_RESERVES()": FunctionFragment; "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": FunctionFragment; "POOL_REVISION()": FunctionFragment; "backUnbacked(address,uint256,uint256)": FunctionFragment; "borrow(address,uint256,uint256,uint16,address)": FunctionFragment; "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": FunctionFragment; "deposit(address,uint256,address,uint16)": FunctionFragment; "dropReserve(address)": FunctionFragment; "finalizeTransfer(address,address,address,uint256,uint256,uint256)": FunctionFragment; "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": FunctionFragment; "flashLoanSimple(address,address,uint256,bytes,uint16)": FunctionFragment; "getConfiguration(address)": FunctionFragment; "getEModeCategoryData(uint8)": FunctionFragment; "getReserveAddressById(uint16)": FunctionFragment; "getReserveData(address)": FunctionFragment; "getReserveNormalizedIncome(address)": FunctionFragment; "getReserveNormalizedVariableDebt(address)": FunctionFragment; "getReservesList()": FunctionFragment; "getUserAccountData(address)": FunctionFragment; "getUserConfiguration(address)": FunctionFragment; "getUserEMode(address)": FunctionFragment; "initReserve(address,address,address,address,address)": FunctionFragment; "initialize(address)": FunctionFragment; "liquidationCall(address,address,address,uint256,bool)": FunctionFragment; "mintToTreasury(address[])": FunctionFragment; "mintUnbacked(address,uint256,address,uint16)": FunctionFragment; "rebalanceStableBorrowRate(address,address)": FunctionFragment; "repay(address,uint256,uint256,address)": FunctionFragment; "repayWithATokens(address,uint256,uint256)": FunctionFragment; "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": FunctionFragment; "rescueTokens(address,address,uint256)": FunctionFragment; "resetIsolationModeTotalDebt(address)": FunctionFragment; "setConfiguration(address,(uint256))": FunctionFragment; "setReserveInterestRateStrategyAddress(address,address)": FunctionFragment; "setUserEMode(uint8)": FunctionFragment; "setUserUseReserveAsCollateral(address,bool)": FunctionFragment; "supply(address,uint256,address,uint16)": FunctionFragment; "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": FunctionFragment; "swapBorrowRateMode(address,uint256)": FunctionFragment; "updateBridgeProtocolFee(uint256)": FunctionFragment; "updateFlashloanPremiums(uint128,uint128)": FunctionFragment; "withdraw(address,uint256,address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "ADDRESSES_PROVIDER" | "BRIDGE_PROTOCOL_FEE" | "FLASHLOAN_PREMIUM_TOTAL" | "FLASHLOAN_PREMIUM_TO_PROTOCOL" | "MAX_NUMBER_RESERVES" | "MAX_STABLE_RATE_BORROW_SIZE_PERCENT" | "POOL_REVISION" | "backUnbacked" | "borrow" | "configureEModeCategory" | "deposit" | "dropReserve" | "finalizeTransfer" | "flashLoan" | "flashLoanSimple" | "getConfiguration" | "getEModeCategoryData" | "getReserveAddressById" | "getReserveData" | "getReserveNormalizedIncome" | "getReserveNormalizedVariableDebt" | "getReservesList" | "getUserAccountData" | "getUserConfiguration" | "getUserEMode" | "initReserve" | "initialize" | "liquidationCall" | "mintToTreasury" | "mintUnbacked" | "rebalanceStableBorrowRate" | "repay" | "repayWithATokens" | "repayWithPermit" | "rescueTokens" | "resetIsolationModeTotalDebt" | "setConfiguration" | "setReserveInterestRateStrategyAddress" | "setUserEMode" | "setUserUseReserveAsCollateral" | "supply" | "supplyWithPermit" | "swapBorrowRateMode" | "updateBridgeProtocolFee" | "updateFlashloanPremiums" | "withdraw"): FunctionFragment; encodeFunctionData(functionFragment: "ADDRESSES_PROVIDER", values?: undefined): string; encodeFunctionData(functionFragment: "BRIDGE_PROTOCOL_FEE", values?: undefined): string; encodeFunctionData(functionFragment: "FLASHLOAN_PREMIUM_TOTAL", values?: undefined): string; encodeFunctionData(functionFragment: "FLASHLOAN_PREMIUM_TO_PROTOCOL", values?: undefined): string; encodeFunctionData(functionFragment: "MAX_NUMBER_RESERVES", values?: undefined): string; encodeFunctionData(functionFragment: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", values?: undefined): string; encodeFunctionData(functionFragment: "POOL_REVISION", values?: undefined): string; encodeFunctionData(functionFragment: "backUnbacked", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "borrow", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "configureEModeCategory", values: [PromiseOrValue, DataTypes.EModeCategoryStruct]): string; encodeFunctionData(functionFragment: "deposit", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "dropReserve", values: [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: "flashLoanSimple", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "getConfiguration", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "getEModeCategoryData", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "getReserveAddressById", 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: "getUserEMode", 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: "mintToTreasury", values: [PromiseOrValue[]]): string; encodeFunctionData(functionFragment: "mintUnbacked", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "rebalanceStableBorrowRate", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "repay", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "repayWithATokens", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "repayWithPermit", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "rescueTokens", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "resetIsolationModeTotalDebt", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "setConfiguration", values: [PromiseOrValue, DataTypes.ReserveConfigurationMapStruct]): string; encodeFunctionData(functionFragment: "setReserveInterestRateStrategyAddress", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "setUserEMode", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "setUserUseReserveAsCollateral", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "supply", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "supplyWithPermit", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "swapBorrowRateMode", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "updateBridgeProtocolFee", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "updateFlashloanPremiums", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "withdraw", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; decodeFunctionResult(functionFragment: "ADDRESSES_PROVIDER", data: BytesLike): Result; decodeFunctionResult(functionFragment: "BRIDGE_PROTOCOL_FEE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "FLASHLOAN_PREMIUM_TOTAL", data: BytesLike): Result; decodeFunctionResult(functionFragment: "FLASHLOAN_PREMIUM_TO_PROTOCOL", data: BytesLike): Result; decodeFunctionResult(functionFragment: "MAX_NUMBER_RESERVES", data: BytesLike): Result; decodeFunctionResult(functionFragment: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "POOL_REVISION", data: BytesLike): Result; decodeFunctionResult(functionFragment: "backUnbacked", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; decodeFunctionResult(functionFragment: "configureEModeCategory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "dropReserve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "finalizeTransfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; decodeFunctionResult(functionFragment: "flashLoanSimple", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getConfiguration", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getEModeCategoryData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReserveAddressById", 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: "getUserEMode", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initReserve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "liquidationCall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mintToTreasury", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mintUnbacked", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rebalanceStableBorrowRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; decodeFunctionResult(functionFragment: "repayWithATokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "repayWithPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rescueTokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "resetIsolationModeTotalDebt", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setConfiguration", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setReserveInterestRateStrategyAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setUserEMode", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setUserUseReserveAsCollateral", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supplyWithPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swapBorrowRateMode", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateBridgeProtocolFee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateFlashloanPremiums", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; events: { "BackUnbacked(address,address,uint256,uint256)": EventFragment; "Borrow(address,address,address,uint256,uint8,uint256,uint16)": EventFragment; "FlashLoan(address,address,address,uint256,uint8,uint256,uint16)": EventFragment; "IsolationModeTotalDebtUpdated(address,uint256)": EventFragment; "LiquidationCall(address,address,address,uint256,uint256,address,bool)": EventFragment; "MintUnbacked(address,address,address,uint256,uint16)": EventFragment; "MintedToTreasury(address,uint256)": EventFragment; "RebalanceStableBorrowRate(address,address)": EventFragment; "Repay(address,address,address,uint256,bool)": EventFragment; "ReserveDataUpdated(address,uint256,uint256,uint256,uint256,uint256)": EventFragment; "ReserveUsedAsCollateralDisabled(address,address)": EventFragment; "ReserveUsedAsCollateralEnabled(address,address)": EventFragment; "Supply(address,address,address,uint256,uint16)": EventFragment; "SwapBorrowRateMode(address,address,uint8)": EventFragment; "UserEModeSet(address,uint8)": EventFragment; "Withdraw(address,address,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "BackUnbacked"): EventFragment; getEvent(nameOrSignatureOrTopic: "Borrow"): EventFragment; getEvent(nameOrSignatureOrTopic: "FlashLoan"): EventFragment; getEvent(nameOrSignatureOrTopic: "IsolationModeTotalDebtUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "LiquidationCall"): EventFragment; getEvent(nameOrSignatureOrTopic: "MintUnbacked"): EventFragment; getEvent(nameOrSignatureOrTopic: "MintedToTreasury"): EventFragment; getEvent(nameOrSignatureOrTopic: "RebalanceStableBorrowRate"): EventFragment; getEvent(nameOrSignatureOrTopic: "Repay"): EventFragment; getEvent(nameOrSignatureOrTopic: "ReserveDataUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "ReserveUsedAsCollateralDisabled"): EventFragment; getEvent(nameOrSignatureOrTopic: "ReserveUsedAsCollateralEnabled"): EventFragment; getEvent(nameOrSignatureOrTopic: "Supply"): EventFragment; getEvent(nameOrSignatureOrTopic: "SwapBorrowRateMode"): EventFragment; getEvent(nameOrSignatureOrTopic: "UserEModeSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "Withdraw"): EventFragment; } export interface BackUnbackedEventObject { reserve: string; backer: string; amount: BigNumber; fee: BigNumber; } export type BackUnbackedEvent = TypedEvent<[ string, string, BigNumber, BigNumber ], BackUnbackedEventObject>; export type BackUnbackedEventFilter = TypedEventFilter; export interface BorrowEventObject { reserve: string; user: string; onBehalfOf: string; amount: BigNumber; interestRateMode: number; borrowRate: BigNumber; referralCode: number; } export type BorrowEvent = TypedEvent<[ string, string, string, BigNumber, number, BigNumber, number ], BorrowEventObject>; export type BorrowEventFilter = TypedEventFilter; export interface FlashLoanEventObject { target: string; initiator: string; asset: string; amount: BigNumber; interestRateMode: number; premium: BigNumber; referralCode: number; } export type FlashLoanEvent = TypedEvent<[ string, string, string, BigNumber, number, BigNumber, number ], FlashLoanEventObject>; export type FlashLoanEventFilter = TypedEventFilter; export interface IsolationModeTotalDebtUpdatedEventObject { asset: string; totalDebt: BigNumber; } export type IsolationModeTotalDebtUpdatedEvent = TypedEvent<[ string, BigNumber ], IsolationModeTotalDebtUpdatedEventObject>; export type IsolationModeTotalDebtUpdatedEventFilter = 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 MintUnbackedEventObject { reserve: string; user: string; onBehalfOf: string; amount: BigNumber; referralCode: number; } export type MintUnbackedEvent = TypedEvent<[ string, string, string, BigNumber, number ], MintUnbackedEventObject>; export type MintUnbackedEventFilter = TypedEventFilter; export interface MintedToTreasuryEventObject { reserve: string; amountMinted: BigNumber; } export type MintedToTreasuryEvent = TypedEvent<[ string, BigNumber ], MintedToTreasuryEventObject>; export type MintedToTreasuryEventFilter = 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; useATokens: boolean; } export type RepayEvent = TypedEvent<[ string, string, string, BigNumber, boolean ], 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 SupplyEventObject { reserve: string; user: string; onBehalfOf: string; amount: BigNumber; referralCode: number; } export type SupplyEvent = TypedEvent<[ string, string, string, BigNumber, number ], SupplyEventObject>; export type SupplyEventFilter = TypedEventFilter; export interface SwapBorrowRateModeEventObject { reserve: string; user: string; interestRateMode: number; } export type SwapBorrowRateModeEvent = TypedEvent<[ string, string, number ], SwapBorrowRateModeEventObject>; export type SwapBorrowRateModeEventFilter = TypedEventFilter; export interface UserEModeSetEventObject { user: string; categoryId: number; } export type UserEModeSetEvent = TypedEvent<[ string, number ], UserEModeSetEventObject>; export type UserEModeSetEventFilter = 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 AaveV3Pool extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: AaveV3PoolInterface; 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: { ADDRESSES_PROVIDER(overrides?: CallOverrides): Promise<[string]>; BRIDGE_PROTOCOL_FEE(overrides?: CallOverrides): Promise<[BigNumber]>; FLASHLOAN_PREMIUM_TOTAL(overrides?: CallOverrides): Promise<[BigNumber]>; FLASHLOAN_PREMIUM_TO_PROTOCOL(overrides?: CallOverrides): Promise<[BigNumber]>; MAX_NUMBER_RESERVES(overrides?: CallOverrides): Promise<[number]>; MAX_STABLE_RATE_BORROW_SIZE_PERCENT(overrides?: CallOverrides): Promise<[BigNumber]>; POOL_REVISION(overrides?: CallOverrides): Promise<[BigNumber]>; backUnbacked(asset: PromiseOrValue, amount: PromiseOrValue, fee: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; borrow(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, referralCode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; configureEModeCategory(id: PromiseOrValue, category: DataTypes.EModeCategoryStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deposit(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; dropReserve(asset: 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[], interestRateModes: PromiseOrValue[], onBehalfOf: PromiseOrValue, params: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; flashLoanSimple(receiverAddress: PromiseOrValue, asset: PromiseOrValue, amount: PromiseOrValue, params: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getConfiguration(asset: PromiseOrValue, overrides?: CallOverrides): Promise<[DataTypes.ReserveConfigurationMapStructOutput]>; getEModeCategoryData(id: PromiseOrValue, overrides?: CallOverrides): Promise<[DataTypes.EModeCategoryStructOutput]>; getReserveAddressById(id: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; 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 ] & { totalCollateralBase: BigNumber; totalDebtBase: BigNumber; availableBorrowsBase: BigNumber; currentLiquidationThreshold: BigNumber; ltv: BigNumber; healthFactor: BigNumber; }>; getUserConfiguration(user: PromiseOrValue, overrides?: CallOverrides): Promise<[DataTypes.UserConfigurationMapStructOutput]>; getUserEMode(user: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; 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; mintToTreasury(assets: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mintUnbacked(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; rebalanceStableBorrowRate(asset: PromiseOrValue, user: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repay(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repayWithATokens(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repayWithPermit(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, onBehalfOf: PromiseOrValue, deadline: PromiseOrValue, permitV: PromiseOrValue, permitR: PromiseOrValue, permitS: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; rescueTokens(token: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; resetIsolationModeTotalDebt(asset: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setConfiguration(asset: PromiseOrValue, configuration: DataTypes.ReserveConfigurationMapStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setReserveInterestRateStrategyAddress(asset: PromiseOrValue, rateStrategyAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setUserEMode(categoryId: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setUserUseReserveAsCollateral(asset: PromiseOrValue, useAsCollateral: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; supply(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; supplyWithPermit(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, deadline: PromiseOrValue, permitV: PromiseOrValue, permitR: PromiseOrValue, permitS: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; swapBorrowRateMode(asset: PromiseOrValue, interestRateMode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; updateBridgeProtocolFee(protocolFee: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; updateFlashloanPremiums(flashLoanPremiumTotal: PromiseOrValue, flashLoanPremiumToProtocol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdraw(asset: PromiseOrValue, amount: PromiseOrValue, to: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; ADDRESSES_PROVIDER(overrides?: CallOverrides): Promise; BRIDGE_PROTOCOL_FEE(overrides?: CallOverrides): Promise; FLASHLOAN_PREMIUM_TOTAL(overrides?: CallOverrides): Promise; FLASHLOAN_PREMIUM_TO_PROTOCOL(overrides?: CallOverrides): Promise; MAX_NUMBER_RESERVES(overrides?: CallOverrides): Promise; MAX_STABLE_RATE_BORROW_SIZE_PERCENT(overrides?: CallOverrides): Promise; POOL_REVISION(overrides?: CallOverrides): Promise; backUnbacked(asset: PromiseOrValue, amount: PromiseOrValue, fee: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; borrow(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, referralCode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; configureEModeCategory(id: PromiseOrValue, category: DataTypes.EModeCategoryStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deposit(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; dropReserve(asset: 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[], interestRateModes: PromiseOrValue[], onBehalfOf: PromiseOrValue, params: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; flashLoanSimple(receiverAddress: PromiseOrValue, asset: PromiseOrValue, amount: PromiseOrValue, params: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getConfiguration(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getEModeCategoryData(id: PromiseOrValue, overrides?: CallOverrides): Promise; getReserveAddressById(id: 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 ] & { totalCollateralBase: BigNumber; totalDebtBase: BigNumber; availableBorrowsBase: BigNumber; currentLiquidationThreshold: BigNumber; ltv: BigNumber; healthFactor: BigNumber; }>; getUserConfiguration(user: PromiseOrValue, overrides?: CallOverrides): Promise; getUserEMode(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; mintToTreasury(assets: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mintUnbacked(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; rebalanceStableBorrowRate(asset: PromiseOrValue, user: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repay(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repayWithATokens(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repayWithPermit(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, onBehalfOf: PromiseOrValue, deadline: PromiseOrValue, permitV: PromiseOrValue, permitR: PromiseOrValue, permitS: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; rescueTokens(token: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; resetIsolationModeTotalDebt(asset: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setConfiguration(asset: PromiseOrValue, configuration: DataTypes.ReserveConfigurationMapStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setReserveInterestRateStrategyAddress(asset: PromiseOrValue, rateStrategyAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setUserEMode(categoryId: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setUserUseReserveAsCollateral(asset: PromiseOrValue, useAsCollateral: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; supply(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; supplyWithPermit(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, deadline: PromiseOrValue, permitV: PromiseOrValue, permitR: PromiseOrValue, permitS: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; swapBorrowRateMode(asset: PromiseOrValue, interestRateMode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; updateBridgeProtocolFee(protocolFee: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; updateFlashloanPremiums(flashLoanPremiumTotal: PromiseOrValue, flashLoanPremiumToProtocol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdraw(asset: PromiseOrValue, amount: PromiseOrValue, to: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; callStatic: { ADDRESSES_PROVIDER(overrides?: CallOverrides): Promise; BRIDGE_PROTOCOL_FEE(overrides?: CallOverrides): Promise; FLASHLOAN_PREMIUM_TOTAL(overrides?: CallOverrides): Promise; FLASHLOAN_PREMIUM_TO_PROTOCOL(overrides?: CallOverrides): Promise; MAX_NUMBER_RESERVES(overrides?: CallOverrides): Promise; MAX_STABLE_RATE_BORROW_SIZE_PERCENT(overrides?: CallOverrides): Promise; POOL_REVISION(overrides?: CallOverrides): Promise; backUnbacked(asset: PromiseOrValue, amount: PromiseOrValue, fee: PromiseOrValue, overrides?: CallOverrides): Promise; borrow(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, referralCode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: CallOverrides): Promise; configureEModeCategory(id: PromiseOrValue, category: DataTypes.EModeCategoryStruct, overrides?: CallOverrides): Promise; deposit(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: CallOverrides): Promise; dropReserve(asset: 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[], interestRateModes: PromiseOrValue[], onBehalfOf: PromiseOrValue, params: PromiseOrValue, referralCode: PromiseOrValue, overrides?: CallOverrides): Promise; flashLoanSimple(receiverAddress: PromiseOrValue, asset: PromiseOrValue, amount: PromiseOrValue, params: PromiseOrValue, referralCode: PromiseOrValue, overrides?: CallOverrides): Promise; getConfiguration(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getEModeCategoryData(id: PromiseOrValue, overrides?: CallOverrides): Promise; getReserveAddressById(id: 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 ] & { totalCollateralBase: BigNumber; totalDebtBase: BigNumber; availableBorrowsBase: BigNumber; currentLiquidationThreshold: BigNumber; ltv: BigNumber; healthFactor: BigNumber; }>; getUserConfiguration(user: PromiseOrValue, overrides?: CallOverrides): Promise; getUserEMode(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; mintToTreasury(assets: PromiseOrValue[], overrides?: CallOverrides): Promise; mintUnbacked(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: CallOverrides): Promise; rebalanceStableBorrowRate(asset: PromiseOrValue, user: PromiseOrValue, overrides?: CallOverrides): Promise; repay(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: CallOverrides): Promise; repayWithATokens(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, overrides?: CallOverrides): Promise; repayWithPermit(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, onBehalfOf: PromiseOrValue, deadline: PromiseOrValue, permitV: PromiseOrValue, permitR: PromiseOrValue, permitS: PromiseOrValue, overrides?: CallOverrides): Promise; rescueTokens(token: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides): Promise; resetIsolationModeTotalDebt(asset: PromiseOrValue, overrides?: CallOverrides): Promise; setConfiguration(asset: PromiseOrValue, configuration: DataTypes.ReserveConfigurationMapStruct, overrides?: CallOverrides): Promise; setReserveInterestRateStrategyAddress(asset: PromiseOrValue, rateStrategyAddress: PromiseOrValue, overrides?: CallOverrides): Promise; setUserEMode(categoryId: PromiseOrValue, overrides?: CallOverrides): Promise; setUserUseReserveAsCollateral(asset: PromiseOrValue, useAsCollateral: PromiseOrValue, overrides?: CallOverrides): Promise; supply(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: CallOverrides): Promise; supplyWithPermit(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, deadline: PromiseOrValue, permitV: PromiseOrValue, permitR: PromiseOrValue, permitS: PromiseOrValue, overrides?: CallOverrides): Promise; swapBorrowRateMode(asset: PromiseOrValue, interestRateMode: PromiseOrValue, overrides?: CallOverrides): Promise; updateBridgeProtocolFee(protocolFee: PromiseOrValue, overrides?: CallOverrides): Promise; updateFlashloanPremiums(flashLoanPremiumTotal: PromiseOrValue, flashLoanPremiumToProtocol: PromiseOrValue, overrides?: CallOverrides): Promise; withdraw(asset: PromiseOrValue, amount: PromiseOrValue, to: PromiseOrValue, overrides?: CallOverrides): Promise; }; filters: { "BackUnbacked(address,address,uint256,uint256)"(reserve?: PromiseOrValue | null, backer?: PromiseOrValue | null, amount?: null, fee?: null): BackUnbackedEventFilter; BackUnbacked(reserve?: PromiseOrValue | null, backer?: PromiseOrValue | null, amount?: null, fee?: null): BackUnbackedEventFilter; "Borrow(address,address,address,uint256,uint8,uint256,uint16)"(reserve?: PromiseOrValue | null, user?: null, onBehalfOf?: PromiseOrValue | null, amount?: null, interestRateMode?: null, borrowRate?: null, referralCode?: PromiseOrValue | null): BorrowEventFilter; Borrow(reserve?: PromiseOrValue | null, user?: null, onBehalfOf?: PromiseOrValue | null, amount?: null, interestRateMode?: null, borrowRate?: null, referralCode?: PromiseOrValue | null): BorrowEventFilter; "FlashLoan(address,address,address,uint256,uint8,uint256,uint16)"(target?: PromiseOrValue | null, initiator?: null, asset?: PromiseOrValue | null, amount?: null, interestRateMode?: null, premium?: null, referralCode?: PromiseOrValue | null): FlashLoanEventFilter; FlashLoan(target?: PromiseOrValue | null, initiator?: null, asset?: PromiseOrValue | null, amount?: null, interestRateMode?: null, premium?: null, referralCode?: PromiseOrValue | null): FlashLoanEventFilter; "IsolationModeTotalDebtUpdated(address,uint256)"(asset?: PromiseOrValue | null, totalDebt?: null): IsolationModeTotalDebtUpdatedEventFilter; IsolationModeTotalDebtUpdated(asset?: PromiseOrValue | null, totalDebt?: null): IsolationModeTotalDebtUpdatedEventFilter; "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; "MintUnbacked(address,address,address,uint256,uint16)"(reserve?: PromiseOrValue | null, user?: null, onBehalfOf?: PromiseOrValue | null, amount?: null, referralCode?: PromiseOrValue | null): MintUnbackedEventFilter; MintUnbacked(reserve?: PromiseOrValue | null, user?: null, onBehalfOf?: PromiseOrValue | null, amount?: null, referralCode?: PromiseOrValue | null): MintUnbackedEventFilter; "MintedToTreasury(address,uint256)"(reserve?: PromiseOrValue | null, amountMinted?: null): MintedToTreasuryEventFilter; MintedToTreasury(reserve?: PromiseOrValue | null, amountMinted?: null): MintedToTreasuryEventFilter; "RebalanceStableBorrowRate(address,address)"(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null): RebalanceStableBorrowRateEventFilter; RebalanceStableBorrowRate(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null): RebalanceStableBorrowRateEventFilter; "Repay(address,address,address,uint256,bool)"(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null, repayer?: PromiseOrValue | null, amount?: null, useATokens?: null): RepayEventFilter; Repay(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null, repayer?: PromiseOrValue | null, amount?: null, useATokens?: 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; "Supply(address,address,address,uint256,uint16)"(reserve?: PromiseOrValue | null, user?: null, onBehalfOf?: PromiseOrValue | null, amount?: null, referralCode?: PromiseOrValue | null): SupplyEventFilter; Supply(reserve?: PromiseOrValue | null, user?: null, onBehalfOf?: PromiseOrValue | null, amount?: null, referralCode?: PromiseOrValue | null): SupplyEventFilter; "SwapBorrowRateMode(address,address,uint8)"(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null, interestRateMode?: null): SwapBorrowRateModeEventFilter; SwapBorrowRateMode(reserve?: PromiseOrValue | null, user?: PromiseOrValue | null, interestRateMode?: null): SwapBorrowRateModeEventFilter; "UserEModeSet(address,uint8)"(user?: PromiseOrValue | null, categoryId?: null): UserEModeSetEventFilter; UserEModeSet(user?: PromiseOrValue | null, categoryId?: null): UserEModeSetEventFilter; "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: { ADDRESSES_PROVIDER(overrides?: CallOverrides): Promise; BRIDGE_PROTOCOL_FEE(overrides?: CallOverrides): Promise; FLASHLOAN_PREMIUM_TOTAL(overrides?: CallOverrides): Promise; FLASHLOAN_PREMIUM_TO_PROTOCOL(overrides?: CallOverrides): Promise; MAX_NUMBER_RESERVES(overrides?: CallOverrides): Promise; MAX_STABLE_RATE_BORROW_SIZE_PERCENT(overrides?: CallOverrides): Promise; POOL_REVISION(overrides?: CallOverrides): Promise; backUnbacked(asset: PromiseOrValue, amount: PromiseOrValue, fee: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; borrow(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, referralCode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; configureEModeCategory(id: PromiseOrValue, category: DataTypes.EModeCategoryStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deposit(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; dropReserve(asset: 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[], interestRateModes: PromiseOrValue[], onBehalfOf: PromiseOrValue, params: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; flashLoanSimple(receiverAddress: PromiseOrValue, asset: PromiseOrValue, amount: PromiseOrValue, params: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getConfiguration(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getEModeCategoryData(id: PromiseOrValue, overrides?: CallOverrides): Promise; getReserveAddressById(id: 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; getUserEMode(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; mintToTreasury(assets: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mintUnbacked(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; rebalanceStableBorrowRate(asset: PromiseOrValue, user: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repay(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repayWithATokens(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repayWithPermit(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, onBehalfOf: PromiseOrValue, deadline: PromiseOrValue, permitV: PromiseOrValue, permitR: PromiseOrValue, permitS: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; rescueTokens(token: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; resetIsolationModeTotalDebt(asset: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setConfiguration(asset: PromiseOrValue, configuration: DataTypes.ReserveConfigurationMapStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setReserveInterestRateStrategyAddress(asset: PromiseOrValue, rateStrategyAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setUserEMode(categoryId: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setUserUseReserveAsCollateral(asset: PromiseOrValue, useAsCollateral: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; supply(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; supplyWithPermit(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, deadline: PromiseOrValue, permitV: PromiseOrValue, permitR: PromiseOrValue, permitS: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; swapBorrowRateMode(asset: PromiseOrValue, interestRateMode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; updateBridgeProtocolFee(protocolFee: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; updateFlashloanPremiums(flashLoanPremiumTotal: PromiseOrValue, flashLoanPremiumToProtocol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdraw(asset: PromiseOrValue, amount: PromiseOrValue, to: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { ADDRESSES_PROVIDER(overrides?: CallOverrides): Promise; BRIDGE_PROTOCOL_FEE(overrides?: CallOverrides): Promise; FLASHLOAN_PREMIUM_TOTAL(overrides?: CallOverrides): Promise; FLASHLOAN_PREMIUM_TO_PROTOCOL(overrides?: CallOverrides): Promise; MAX_NUMBER_RESERVES(overrides?: CallOverrides): Promise; MAX_STABLE_RATE_BORROW_SIZE_PERCENT(overrides?: CallOverrides): Promise; POOL_REVISION(overrides?: CallOverrides): Promise; backUnbacked(asset: PromiseOrValue, amount: PromiseOrValue, fee: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; borrow(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, referralCode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; configureEModeCategory(id: PromiseOrValue, category: DataTypes.EModeCategoryStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deposit(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; dropReserve(asset: 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[], interestRateModes: PromiseOrValue[], onBehalfOf: PromiseOrValue, params: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; flashLoanSimple(receiverAddress: PromiseOrValue, asset: PromiseOrValue, amount: PromiseOrValue, params: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getConfiguration(asset: PromiseOrValue, overrides?: CallOverrides): Promise; getEModeCategoryData(id: PromiseOrValue, overrides?: CallOverrides): Promise; getReserveAddressById(id: 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; getUserEMode(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; mintToTreasury(assets: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mintUnbacked(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; rebalanceStableBorrowRate(asset: PromiseOrValue, user: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repay(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, onBehalfOf: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repayWithATokens(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repayWithPermit(asset: PromiseOrValue, amount: PromiseOrValue, interestRateMode: PromiseOrValue, onBehalfOf: PromiseOrValue, deadline: PromiseOrValue, permitV: PromiseOrValue, permitR: PromiseOrValue, permitS: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; rescueTokens(token: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; resetIsolationModeTotalDebt(asset: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setConfiguration(asset: PromiseOrValue, configuration: DataTypes.ReserveConfigurationMapStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setReserveInterestRateStrategyAddress(asset: PromiseOrValue, rateStrategyAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setUserEMode(categoryId: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setUserUseReserveAsCollateral(asset: PromiseOrValue, useAsCollateral: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; supply(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; supplyWithPermit(asset: PromiseOrValue, amount: PromiseOrValue, onBehalfOf: PromiseOrValue, referralCode: PromiseOrValue, deadline: PromiseOrValue, permitV: PromiseOrValue, permitR: PromiseOrValue, permitS: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; swapBorrowRateMode(asset: PromiseOrValue, interestRateMode: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; updateBridgeProtocolFee(protocolFee: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; updateFlashloanPremiums(flashLoanPremiumTotal: PromiseOrValue, flashLoanPremiumToProtocol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdraw(asset: PromiseOrValue, amount: PromiseOrValue, to: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; }