/* Autogenerated file. Do not edit manually. */ /* eslint-disable */ import { ethers, EventFilter, Signer, BigNumber, BigNumberish, PopulatedTransaction, BaseContract, ContractTransaction, Overrides, CallOverrides, } from 'ethers'; import { BytesLike } from '@ethersproject/bytes'; import { Listener, Provider } from '@ethersproject/providers'; import { FunctionFragment, EventFragment, Result } from '@ethersproject/abi'; import type { TypedEventFilter, TypedEvent, TypedListener } from './common'; interface IPoolInterface extends ethers.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; '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; '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; '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; '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(uint256,uint256)': FunctionFragment; 'withdraw(address,uint256,address)': 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: 'backUnbacked', values: [string, BigNumberish, BigNumberish], ): string; encodeFunctionData( functionFragment: 'borrow', values: [string, BigNumberish, BigNumberish, BigNumberish, string], ): string; encodeFunctionData( functionFragment: 'configureEModeCategory', values: [ BigNumberish, { ltv: BigNumberish; liquidationThreshold: BigNumberish; liquidationBonus: BigNumberish; priceSource: string; label: string; }, ], ): string; encodeFunctionData( functionFragment: 'deposit', values: [string, BigNumberish, string, BigNumberish], ): string; encodeFunctionData(functionFragment: 'dropReserve', values: [string]): string; encodeFunctionData( functionFragment: 'finalizeTransfer', values: [string, string, string, BigNumberish, BigNumberish, BigNumberish], ): string; encodeFunctionData( functionFragment: 'flashLoan', values: [ string, string[], BigNumberish[], BigNumberish[], string, BytesLike, BigNumberish, ], ): string; encodeFunctionData( functionFragment: 'flashLoanSimple', values: [string, string, BigNumberish, BytesLike, BigNumberish], ): string; encodeFunctionData( functionFragment: 'getConfiguration', values: [string], ): string; encodeFunctionData( functionFragment: 'getEModeCategoryData', values: [BigNumberish], ): string; encodeFunctionData( functionFragment: 'getReserveData', values: [string], ): string; encodeFunctionData( functionFragment: 'getReserveNormalizedIncome', values: [string], ): string; encodeFunctionData( functionFragment: 'getReserveNormalizedVariableDebt', values: [string], ): string; encodeFunctionData( functionFragment: 'getReservesList', values?: undefined, ): string; encodeFunctionData( functionFragment: 'getUserAccountData', values: [string], ): string; encodeFunctionData( functionFragment: 'getUserConfiguration', values: [string], ): string; encodeFunctionData( functionFragment: 'getUserEMode', values: [string], ): string; encodeFunctionData( functionFragment: 'initReserve', values: [string, string, string, string, string], ): string; encodeFunctionData( functionFragment: 'liquidationCall', values: [string, string, string, BigNumberish, boolean], ): string; encodeFunctionData( functionFragment: 'mintToTreasury', values: [string[]], ): string; encodeFunctionData( functionFragment: 'mintUnbacked', values: [string, BigNumberish, string, BigNumberish], ): string; encodeFunctionData( functionFragment: 'rebalanceStableBorrowRate', values: [string, string], ): string; encodeFunctionData( functionFragment: 'repay', values: [string, BigNumberish, BigNumberish, string], ): string; encodeFunctionData( functionFragment: 'repayWithATokens', values: [string, BigNumberish, BigNumberish], ): string; encodeFunctionData( functionFragment: 'repayWithPermit', values: [ string, BigNumberish, BigNumberish, string, BigNumberish, BigNumberish, BytesLike, BytesLike, ], ): string; encodeFunctionData( functionFragment: 'setConfiguration', values: [string, BigNumberish], ): string; encodeFunctionData( functionFragment: 'setReserveInterestRateStrategyAddress', values: [string, string], ): string; encodeFunctionData( functionFragment: 'setUserEMode', values: [BigNumberish], ): string; encodeFunctionData( functionFragment: 'setUserUseReserveAsCollateral', values: [string, boolean], ): string; encodeFunctionData( functionFragment: 'supply', values: [string, BigNumberish, string, BigNumberish], ): string; encodeFunctionData( functionFragment: 'supplyWithPermit', values: [ string, BigNumberish, string, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike, ], ): string; encodeFunctionData( functionFragment: 'swapBorrowRateMode', values: [string, BigNumberish], ): string; encodeFunctionData( functionFragment: 'updateBridgeProtocolFee', values: [BigNumberish], ): string; encodeFunctionData( functionFragment: 'updateFlashloanPremiums', values: [BigNumberish, BigNumberish], ): string; encodeFunctionData( functionFragment: 'withdraw', values: [string, BigNumberish, string], ): 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: '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: '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: '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: '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 type BackUnbackedEvent = TypedEvent< [string, string, BigNumber, BigNumber] & { reserve: string; backer: string; amount: BigNumber; fee: BigNumber; } >; export type BorrowEvent = TypedEvent< [string, string, string, BigNumber, number, BigNumber, number] & { reserve: string; user: string; onBehalfOf: string; amount: BigNumber; interestRateMode: number; borrowRate: BigNumber; referral: number; } >; export type FlashLoanEvent = TypedEvent< [string, string, string, BigNumber, number, BigNumber, number] & { target: string; initiator: string; asset: string; amount: BigNumber; interestRateMode: number; premium: BigNumber; referralCode: number; } >; export type IsolationModeTotalDebtUpdatedEvent = TypedEvent< [string, BigNumber] & { asset: string; totalDebt: BigNumber } >; export type LiquidationCallEvent = TypedEvent< [string, string, string, BigNumber, BigNumber, string, boolean] & { collateralAsset: string; debtAsset: string; user: string; debtToCover: BigNumber; liquidatedCollateralAmount: BigNumber; liquidator: string; receiveAToken: boolean; } >; export type MintUnbackedEvent = TypedEvent< [string, string, string, BigNumber, number] & { reserve: string; user: string; onBehalfOf: string; amount: BigNumber; referral: number; } >; export type MintedToTreasuryEvent = TypedEvent< [string, BigNumber] & { reserve: string; amountMinted: BigNumber } >; export type RebalanceStableBorrowRateEvent = TypedEvent< [string, string] & { reserve: string; user: string } >; export type RepayEvent = TypedEvent< [string, string, string, BigNumber, boolean] & { reserve: string; user: string; repayer: string; amount: BigNumber; useATokens: boolean; } >; export type ReserveDataUpdatedEvent = TypedEvent< [string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber] & { reserve: string; liquidityRate: BigNumber; stableBorrowRate: BigNumber; variableBorrowRate: BigNumber; liquidityIndex: BigNumber; variableBorrowIndex: BigNumber; } >; export type ReserveUsedAsCollateralDisabledEvent = TypedEvent< [string, string] & { reserve: string; user: string } >; export type ReserveUsedAsCollateralEnabledEvent = TypedEvent< [string, string] & { reserve: string; user: string } >; export type SupplyEvent = TypedEvent< [string, string, string, BigNumber, number] & { reserve: string; user: string; onBehalfOf: string; amount: BigNumber; referralCode: number; } >; export type SwapBorrowRateModeEvent = TypedEvent< [string, string, number] & { reserve: string; user: string; interestRateMode: number; } >; export type UserEModeSetEvent = TypedEvent< [string, number] & { user: string; categoryId: number } >; export type WithdrawEvent = TypedEvent< [string, string, string, BigNumber] & { reserve: string; user: string; to: string; amount: BigNumber; } >; export class IPool extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; listeners, EventArgsObject>( eventFilter?: TypedEventFilter, ): Array>; off, EventArgsObject>( eventFilter: TypedEventFilter, listener: TypedListener, ): this; on, EventArgsObject>( eventFilter: TypedEventFilter, listener: TypedListener, ): this; once, EventArgsObject>( eventFilter: TypedEventFilter, listener: TypedListener, ): this; removeListener, EventArgsObject>( eventFilter: TypedEventFilter, listener: TypedListener, ): this; removeAllListeners, EventArgsObject>( eventFilter: TypedEventFilter, ): this; listeners(eventName?: string): Array; off(eventName: string, listener: Listener): this; on(eventName: string, listener: Listener): this; once(eventName: string, listener: Listener): this; removeListener(eventName: string, listener: Listener): this; removeAllListeners(eventName?: string): this; queryFilter, EventArgsObject>( event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined, ): Promise>>; interface: IPoolInterface; 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<[BigNumber]>; MAX_STABLE_RATE_BORROW_SIZE_PERCENT( overrides?: CallOverrides, ): Promise<[BigNumber]>; backUnbacked( asset: string, amount: BigNumberish, fee: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; borrow( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, referralCode: BigNumberish, onBehalfOf: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; configureEModeCategory( id: BigNumberish, config: { ltv: BigNumberish; liquidationThreshold: BigNumberish; liquidationBonus: BigNumberish; priceSource: string; label: string; }, overrides?: Overrides & { from?: string | Promise }, ): Promise; deposit( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; dropReserve( asset: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; finalizeTransfer( asset: string, from: string, to: string, amount: BigNumberish, balanceFromBefore: BigNumberish, balanceToBefore: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; flashLoan( receiverAddress: string, assets: string[], amounts: BigNumberish[], interestRateModes: BigNumberish[], onBehalfOf: string, params: BytesLike, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; flashLoanSimple( receiverAddress: string, asset: string, amount: BigNumberish, params: BytesLike, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; getConfiguration( asset: string, overrides?: CallOverrides, ): Promise<[[BigNumber] & { data: BigNumber }]>; getEModeCategoryData( id: BigNumberish, overrides?: CallOverrides, ): Promise< [ [number, number, number, string, string] & { ltv: number; liquidationThreshold: number; liquidationBonus: number; priceSource: string; label: string; }, ] >; getReserveData( asset: string, overrides?: CallOverrides, ): Promise< [ [ [BigNumber] & { data: BigNumber }, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, number, number, string, string, string, string, BigNumber, BigNumber, BigNumber, ] & { configuration: [BigNumber] & { data: BigNumber }; 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; }, ] >; getReserveNormalizedIncome( asset: string, overrides?: CallOverrides, ): Promise<[BigNumber]>; getReserveNormalizedVariableDebt( asset: string, overrides?: CallOverrides, ): Promise<[BigNumber]>; getReservesList(overrides?: CallOverrides): Promise<[string[]]>; getUserAccountData( user: string, overrides?: CallOverrides, ): Promise< [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber] & { totalCollateralBase: BigNumber; totalDebtBase: BigNumber; availableBorrowsBase: BigNumber; currentLiquidationThreshold: BigNumber; ltv: BigNumber; healthFactor: BigNumber; } >; getUserConfiguration( user: string, overrides?: CallOverrides, ): Promise<[[BigNumber] & { data: BigNumber }]>; getUserEMode(user: string, overrides?: CallOverrides): Promise<[BigNumber]>; initReserve( asset: string, aTokenAddress: string, stableDebtAddress: string, variableDebtAddress: string, interestRateStrategyAddress: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; liquidationCall( collateralAsset: string, debtAsset: string, user: string, debtToCover: BigNumberish, receiveAToken: boolean, overrides?: Overrides & { from?: string | Promise }, ): Promise; mintToTreasury( assets: string[], overrides?: Overrides & { from?: string | Promise }, ): Promise; mintUnbacked( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; rebalanceStableBorrowRate( asset: string, user: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; repay( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, onBehalfOf: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; repayWithATokens( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; repayWithPermit( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, onBehalfOf: string, deadline: BigNumberish, permitV: BigNumberish, permitR: BytesLike, permitS: BytesLike, overrides?: Overrides & { from?: string | Promise }, ): Promise; setConfiguration( asset: string, configuration: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; setReserveInterestRateStrategyAddress( asset: string, rateStrategyAddress: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; setUserEMode( categoryId: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; setUserUseReserveAsCollateral( asset: string, useAsCollateral: boolean, overrides?: Overrides & { from?: string | Promise }, ): Promise; supply( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; supplyWithPermit( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, deadline: BigNumberish, permitV: BigNumberish, permitR: BytesLike, permitS: BytesLike, overrides?: Overrides & { from?: string | Promise }, ): Promise; swapBorrowRateMode( asset: string, interestRateMode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; updateBridgeProtocolFee( bridgeProtocolFee: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; updateFlashloanPremiums( flashLoanPremiumTotal: BigNumberish, flashLoanPremiumToProtocol: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; withdraw( asset: string, amount: BigNumberish, to: string, overrides?: Overrides & { from?: string | Promise }, ): 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; backUnbacked( asset: string, amount: BigNumberish, fee: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; borrow( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, referralCode: BigNumberish, onBehalfOf: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; configureEModeCategory( id: BigNumberish, config: { ltv: BigNumberish; liquidationThreshold: BigNumberish; liquidationBonus: BigNumberish; priceSource: string; label: string; }, overrides?: Overrides & { from?: string | Promise }, ): Promise; deposit( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; dropReserve( asset: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; finalizeTransfer( asset: string, from: string, to: string, amount: BigNumberish, balanceFromBefore: BigNumberish, balanceToBefore: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; flashLoan( receiverAddress: string, assets: string[], amounts: BigNumberish[], interestRateModes: BigNumberish[], onBehalfOf: string, params: BytesLike, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; flashLoanSimple( receiverAddress: string, asset: string, amount: BigNumberish, params: BytesLike, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; getConfiguration( asset: string, overrides?: CallOverrides, ): Promise<[BigNumber] & { data: BigNumber }>; getEModeCategoryData( id: BigNumberish, overrides?: CallOverrides, ): Promise< [number, number, number, string, string] & { ltv: number; liquidationThreshold: number; liquidationBonus: number; priceSource: string; label: string; } >; getReserveData( asset: string, overrides?: CallOverrides, ): Promise< [ [BigNumber] & { data: BigNumber }, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, number, number, string, string, string, string, BigNumber, BigNumber, BigNumber, ] & { configuration: [BigNumber] & { data: BigNumber }; 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; } >; getReserveNormalizedIncome( asset: string, overrides?: CallOverrides, ): Promise; getReserveNormalizedVariableDebt( asset: string, overrides?: CallOverrides, ): Promise; getReservesList(overrides?: CallOverrides): Promise; getUserAccountData( user: string, overrides?: CallOverrides, ): Promise< [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber] & { totalCollateralBase: BigNumber; totalDebtBase: BigNumber; availableBorrowsBase: BigNumber; currentLiquidationThreshold: BigNumber; ltv: BigNumber; healthFactor: BigNumber; } >; getUserConfiguration( user: string, overrides?: CallOverrides, ): Promise<[BigNumber] & { data: BigNumber }>; getUserEMode(user: string, overrides?: CallOverrides): Promise; initReserve( asset: string, aTokenAddress: string, stableDebtAddress: string, variableDebtAddress: string, interestRateStrategyAddress: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; liquidationCall( collateralAsset: string, debtAsset: string, user: string, debtToCover: BigNumberish, receiveAToken: boolean, overrides?: Overrides & { from?: string | Promise }, ): Promise; mintToTreasury( assets: string[], overrides?: Overrides & { from?: string | Promise }, ): Promise; mintUnbacked( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; rebalanceStableBorrowRate( asset: string, user: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; repay( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, onBehalfOf: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; repayWithATokens( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; repayWithPermit( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, onBehalfOf: string, deadline: BigNumberish, permitV: BigNumberish, permitR: BytesLike, permitS: BytesLike, overrides?: Overrides & { from?: string | Promise }, ): Promise; setConfiguration( asset: string, configuration: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; setReserveInterestRateStrategyAddress( asset: string, rateStrategyAddress: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; setUserEMode( categoryId: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; setUserUseReserveAsCollateral( asset: string, useAsCollateral: boolean, overrides?: Overrides & { from?: string | Promise }, ): Promise; supply( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; supplyWithPermit( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, deadline: BigNumberish, permitV: BigNumberish, permitR: BytesLike, permitS: BytesLike, overrides?: Overrides & { from?: string | Promise }, ): Promise; swapBorrowRateMode( asset: string, interestRateMode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; updateBridgeProtocolFee( bridgeProtocolFee: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; updateFlashloanPremiums( flashLoanPremiumTotal: BigNumberish, flashLoanPremiumToProtocol: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; withdraw( asset: string, amount: BigNumberish, to: string, overrides?: Overrides & { from?: string | Promise }, ): 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; backUnbacked( asset: string, amount: BigNumberish, fee: BigNumberish, overrides?: CallOverrides, ): Promise; borrow( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, referralCode: BigNumberish, onBehalfOf: string, overrides?: CallOverrides, ): Promise; configureEModeCategory( id: BigNumberish, config: { ltv: BigNumberish; liquidationThreshold: BigNumberish; liquidationBonus: BigNumberish; priceSource: string; label: string; }, overrides?: CallOverrides, ): Promise; deposit( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, overrides?: CallOverrides, ): Promise; dropReserve(asset: string, overrides?: CallOverrides): Promise; finalizeTransfer( asset: string, from: string, to: string, amount: BigNumberish, balanceFromBefore: BigNumberish, balanceToBefore: BigNumberish, overrides?: CallOverrides, ): Promise; flashLoan( receiverAddress: string, assets: string[], amounts: BigNumberish[], interestRateModes: BigNumberish[], onBehalfOf: string, params: BytesLike, referralCode: BigNumberish, overrides?: CallOverrides, ): Promise; flashLoanSimple( receiverAddress: string, asset: string, amount: BigNumberish, params: BytesLike, referralCode: BigNumberish, overrides?: CallOverrides, ): Promise; getConfiguration( asset: string, overrides?: CallOverrides, ): Promise<[BigNumber] & { data: BigNumber }>; getEModeCategoryData( id: BigNumberish, overrides?: CallOverrides, ): Promise< [number, number, number, string, string] & { ltv: number; liquidationThreshold: number; liquidationBonus: number; priceSource: string; label: string; } >; getReserveData( asset: string, overrides?: CallOverrides, ): Promise< [ [BigNumber] & { data: BigNumber }, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, number, number, string, string, string, string, BigNumber, BigNumber, BigNumber, ] & { configuration: [BigNumber] & { data: BigNumber }; 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; } >; getReserveNormalizedIncome( asset: string, overrides?: CallOverrides, ): Promise; getReserveNormalizedVariableDebt( asset: string, overrides?: CallOverrides, ): Promise; getReservesList(overrides?: CallOverrides): Promise; getUserAccountData( user: string, overrides?: CallOverrides, ): Promise< [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber] & { totalCollateralBase: BigNumber; totalDebtBase: BigNumber; availableBorrowsBase: BigNumber; currentLiquidationThreshold: BigNumber; ltv: BigNumber; healthFactor: BigNumber; } >; getUserConfiguration( user: string, overrides?: CallOverrides, ): Promise<[BigNumber] & { data: BigNumber }>; getUserEMode(user: string, overrides?: CallOverrides): Promise; initReserve( asset: string, aTokenAddress: string, stableDebtAddress: string, variableDebtAddress: string, interestRateStrategyAddress: string, overrides?: CallOverrides, ): Promise; liquidationCall( collateralAsset: string, debtAsset: string, user: string, debtToCover: BigNumberish, receiveAToken: boolean, overrides?: CallOverrides, ): Promise; mintToTreasury(assets: string[], overrides?: CallOverrides): Promise; mintUnbacked( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, overrides?: CallOverrides, ): Promise; rebalanceStableBorrowRate( asset: string, user: string, overrides?: CallOverrides, ): Promise; repay( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, onBehalfOf: string, overrides?: CallOverrides, ): Promise; repayWithATokens( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, overrides?: CallOverrides, ): Promise; repayWithPermit( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, onBehalfOf: string, deadline: BigNumberish, permitV: BigNumberish, permitR: BytesLike, permitS: BytesLike, overrides?: CallOverrides, ): Promise; setConfiguration( asset: string, configuration: BigNumberish, overrides?: CallOverrides, ): Promise; setReserveInterestRateStrategyAddress( asset: string, rateStrategyAddress: string, overrides?: CallOverrides, ): Promise; setUserEMode( categoryId: BigNumberish, overrides?: CallOverrides, ): Promise; setUserUseReserveAsCollateral( asset: string, useAsCollateral: boolean, overrides?: CallOverrides, ): Promise; supply( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, overrides?: CallOverrides, ): Promise; supplyWithPermit( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, deadline: BigNumberish, permitV: BigNumberish, permitR: BytesLike, permitS: BytesLike, overrides?: CallOverrides, ): Promise; swapBorrowRateMode( asset: string, interestRateMode: BigNumberish, overrides?: CallOverrides, ): Promise; updateBridgeProtocolFee( bridgeProtocolFee: BigNumberish, overrides?: CallOverrides, ): Promise; updateFlashloanPremiums( flashLoanPremiumTotal: BigNumberish, flashLoanPremiumToProtocol: BigNumberish, overrides?: CallOverrides, ): Promise; withdraw( asset: string, amount: BigNumberish, to: string, overrides?: CallOverrides, ): Promise; }; filters: { 'BackUnbacked(address,address,uint256,uint256)'( reserve?: string | null, backer?: string | null, amount?: null, fee?: null, ): TypedEventFilter< [string, string, BigNumber, BigNumber], { reserve: string; backer: string; amount: BigNumber; fee: BigNumber } >; BackUnbacked( reserve?: string | null, backer?: string | null, amount?: null, fee?: null, ): TypedEventFilter< [string, string, BigNumber, BigNumber], { reserve: string; backer: string; amount: BigNumber; fee: BigNumber } >; 'Borrow(address,address,address,uint256,uint8,uint256,uint16)'( reserve?: string | null, user?: null, onBehalfOf?: string | null, amount?: null, interestRateMode?: null, borrowRate?: null, referral?: BigNumberish | null, ): TypedEventFilter< [string, string, string, BigNumber, number, BigNumber, number], { reserve: string; user: string; onBehalfOf: string; amount: BigNumber; interestRateMode: number; borrowRate: BigNumber; referral: number; } >; Borrow( reserve?: string | null, user?: null, onBehalfOf?: string | null, amount?: null, interestRateMode?: null, borrowRate?: null, referral?: BigNumberish | null, ): TypedEventFilter< [string, string, string, BigNumber, number, BigNumber, number], { reserve: string; user: string; onBehalfOf: string; amount: BigNumber; interestRateMode: number; borrowRate: BigNumber; referral: number; } >; 'FlashLoan(address,address,address,uint256,uint8,uint256,uint16)'( target?: string | null, initiator?: string | null, asset?: string | null, amount?: null, interestRateMode?: null, premium?: null, referralCode?: null, ): TypedEventFilter< [string, string, string, BigNumber, number, BigNumber, number], { target: string; initiator: string; asset: string; amount: BigNumber; interestRateMode: number; premium: BigNumber; referralCode: number; } >; FlashLoan( target?: string | null, initiator?: string | null, asset?: string | null, amount?: null, interestRateMode?: null, premium?: null, referralCode?: null, ): TypedEventFilter< [string, string, string, BigNumber, number, BigNumber, number], { target: string; initiator: string; asset: string; amount: BigNumber; interestRateMode: number; premium: BigNumber; referralCode: number; } >; 'IsolationModeTotalDebtUpdated(address,uint256)'( asset?: string | null, totalDebt?: null, ): TypedEventFilter< [string, BigNumber], { asset: string; totalDebt: BigNumber } >; IsolationModeTotalDebtUpdated( asset?: string | null, totalDebt?: null, ): TypedEventFilter< [string, BigNumber], { asset: string; totalDebt: BigNumber } >; 'LiquidationCall(address,address,address,uint256,uint256,address,bool)'( collateralAsset?: string | null, debtAsset?: string | null, user?: string | null, debtToCover?: null, liquidatedCollateralAmount?: null, liquidator?: null, receiveAToken?: null, ): TypedEventFilter< [string, string, string, BigNumber, BigNumber, string, boolean], { collateralAsset: string; debtAsset: string; user: string; debtToCover: BigNumber; liquidatedCollateralAmount: BigNumber; liquidator: string; receiveAToken: boolean; } >; LiquidationCall( collateralAsset?: string | null, debtAsset?: string | null, user?: string | null, debtToCover?: null, liquidatedCollateralAmount?: null, liquidator?: null, receiveAToken?: null, ): TypedEventFilter< [string, string, string, BigNumber, BigNumber, string, boolean], { collateralAsset: string; debtAsset: string; user: string; debtToCover: BigNumber; liquidatedCollateralAmount: BigNumber; liquidator: string; receiveAToken: boolean; } >; 'MintUnbacked(address,address,address,uint256,uint16)'( reserve?: string | null, user?: null, onBehalfOf?: string | null, amount?: null, referral?: BigNumberish | null, ): TypedEventFilter< [string, string, string, BigNumber, number], { reserve: string; user: string; onBehalfOf: string; amount: BigNumber; referral: number; } >; MintUnbacked( reserve?: string | null, user?: null, onBehalfOf?: string | null, amount?: null, referral?: BigNumberish | null, ): TypedEventFilter< [string, string, string, BigNumber, number], { reserve: string; user: string; onBehalfOf: string; amount: BigNumber; referral: number; } >; 'MintedToTreasury(address,uint256)'( reserve?: string | null, amountMinted?: null, ): TypedEventFilter< [string, BigNumber], { reserve: string; amountMinted: BigNumber } >; MintedToTreasury( reserve?: string | null, amountMinted?: null, ): TypedEventFilter< [string, BigNumber], { reserve: string; amountMinted: BigNumber } >; 'RebalanceStableBorrowRate(address,address)'( reserve?: string | null, user?: string | null, ): TypedEventFilter<[string, string], { reserve: string; user: string }>; RebalanceStableBorrowRate( reserve?: string | null, user?: string | null, ): TypedEventFilter<[string, string], { reserve: string; user: string }>; 'Repay(address,address,address,uint256,bool)'( reserve?: string | null, user?: string | null, repayer?: string | null, amount?: null, useATokens?: null, ): TypedEventFilter< [string, string, string, BigNumber, boolean], { reserve: string; user: string; repayer: string; amount: BigNumber; useATokens: boolean; } >; Repay( reserve?: string | null, user?: string | null, repayer?: string | null, amount?: null, useATokens?: null, ): TypedEventFilter< [string, string, string, BigNumber, boolean], { reserve: string; user: string; repayer: string; amount: BigNumber; useATokens: boolean; } >; 'ReserveDataUpdated(address,uint256,uint256,uint256,uint256,uint256)'( reserve?: string | null, liquidityRate?: null, stableBorrowRate?: null, variableBorrowRate?: null, liquidityIndex?: null, variableBorrowIndex?: null, ): TypedEventFilter< [string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber], { reserve: string; liquidityRate: BigNumber; stableBorrowRate: BigNumber; variableBorrowRate: BigNumber; liquidityIndex: BigNumber; variableBorrowIndex: BigNumber; } >; ReserveDataUpdated( reserve?: string | null, liquidityRate?: null, stableBorrowRate?: null, variableBorrowRate?: null, liquidityIndex?: null, variableBorrowIndex?: null, ): TypedEventFilter< [string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber], { reserve: string; liquidityRate: BigNumber; stableBorrowRate: BigNumber; variableBorrowRate: BigNumber; liquidityIndex: BigNumber; variableBorrowIndex: BigNumber; } >; 'ReserveUsedAsCollateralDisabled(address,address)'( reserve?: string | null, user?: string | null, ): TypedEventFilter<[string, string], { reserve: string; user: string }>; ReserveUsedAsCollateralDisabled( reserve?: string | null, user?: string | null, ): TypedEventFilter<[string, string], { reserve: string; user: string }>; 'ReserveUsedAsCollateralEnabled(address,address)'( reserve?: string | null, user?: string | null, ): TypedEventFilter<[string, string], { reserve: string; user: string }>; ReserveUsedAsCollateralEnabled( reserve?: string | null, user?: string | null, ): TypedEventFilter<[string, string], { reserve: string; user: string }>; 'Supply(address,address,address,uint256,uint16)'( reserve?: string | null, user?: null, onBehalfOf?: string | null, amount?: null, referralCode?: BigNumberish | null, ): TypedEventFilter< [string, string, string, BigNumber, number], { reserve: string; user: string; onBehalfOf: string; amount: BigNumber; referralCode: number; } >; Supply( reserve?: string | null, user?: null, onBehalfOf?: string | null, amount?: null, referralCode?: BigNumberish | null, ): TypedEventFilter< [string, string, string, BigNumber, number], { reserve: string; user: string; onBehalfOf: string; amount: BigNumber; referralCode: number; } >; 'SwapBorrowRateMode(address,address,uint8)'( reserve?: string | null, user?: string | null, interestRateMode?: null, ): TypedEventFilter< [string, string, number], { reserve: string; user: string; interestRateMode: number } >; SwapBorrowRateMode( reserve?: string | null, user?: string | null, interestRateMode?: null, ): TypedEventFilter< [string, string, number], { reserve: string; user: string; interestRateMode: number } >; 'UserEModeSet(address,uint8)'( user?: string | null, categoryId?: null, ): TypedEventFilter<[string, number], { user: string; categoryId: number }>; UserEModeSet( user?: string | null, categoryId?: null, ): TypedEventFilter<[string, number], { user: string; categoryId: number }>; 'Withdraw(address,address,address,uint256)'( reserve?: string | null, user?: string | null, to?: string | null, amount?: null, ): TypedEventFilter< [string, string, string, BigNumber], { reserve: string; user: string; to: string; amount: BigNumber } >; Withdraw( reserve?: string | null, user?: string | null, to?: string | null, amount?: null, ): TypedEventFilter< [string, string, string, BigNumber], { reserve: string; user: string; to: string; amount: BigNumber } >; }; 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; backUnbacked( asset: string, amount: BigNumberish, fee: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; borrow( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, referralCode: BigNumberish, onBehalfOf: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; configureEModeCategory( id: BigNumberish, config: { ltv: BigNumberish; liquidationThreshold: BigNumberish; liquidationBonus: BigNumberish; priceSource: string; label: string; }, overrides?: Overrides & { from?: string | Promise }, ): Promise; deposit( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; dropReserve( asset: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; finalizeTransfer( asset: string, from: string, to: string, amount: BigNumberish, balanceFromBefore: BigNumberish, balanceToBefore: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; flashLoan( receiverAddress: string, assets: string[], amounts: BigNumberish[], interestRateModes: BigNumberish[], onBehalfOf: string, params: BytesLike, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; flashLoanSimple( receiverAddress: string, asset: string, amount: BigNumberish, params: BytesLike, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; getConfiguration( asset: string, overrides?: CallOverrides, ): Promise; getEModeCategoryData( id: BigNumberish, overrides?: CallOverrides, ): Promise; getReserveData( asset: string, overrides?: CallOverrides, ): Promise; getReserveNormalizedIncome( asset: string, overrides?: CallOverrides, ): Promise; getReserveNormalizedVariableDebt( asset: string, overrides?: CallOverrides, ): Promise; getReservesList(overrides?: CallOverrides): Promise; getUserAccountData( user: string, overrides?: CallOverrides, ): Promise; getUserConfiguration( user: string, overrides?: CallOverrides, ): Promise; getUserEMode(user: string, overrides?: CallOverrides): Promise; initReserve( asset: string, aTokenAddress: string, stableDebtAddress: string, variableDebtAddress: string, interestRateStrategyAddress: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; liquidationCall( collateralAsset: string, debtAsset: string, user: string, debtToCover: BigNumberish, receiveAToken: boolean, overrides?: Overrides & { from?: string | Promise }, ): Promise; mintToTreasury( assets: string[], overrides?: Overrides & { from?: string | Promise }, ): Promise; mintUnbacked( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; rebalanceStableBorrowRate( asset: string, user: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; repay( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, onBehalfOf: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; repayWithATokens( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; repayWithPermit( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, onBehalfOf: string, deadline: BigNumberish, permitV: BigNumberish, permitR: BytesLike, permitS: BytesLike, overrides?: Overrides & { from?: string | Promise }, ): Promise; setConfiguration( asset: string, configuration: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; setReserveInterestRateStrategyAddress( asset: string, rateStrategyAddress: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; setUserEMode( categoryId: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; setUserUseReserveAsCollateral( asset: string, useAsCollateral: boolean, overrides?: Overrides & { from?: string | Promise }, ): Promise; supply( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; supplyWithPermit( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, deadline: BigNumberish, permitV: BigNumberish, permitR: BytesLike, permitS: BytesLike, overrides?: Overrides & { from?: string | Promise }, ): Promise; swapBorrowRateMode( asset: string, interestRateMode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; updateBridgeProtocolFee( bridgeProtocolFee: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; updateFlashloanPremiums( flashLoanPremiumTotal: BigNumberish, flashLoanPremiumToProtocol: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; withdraw( asset: string, amount: BigNumberish, to: string, overrides?: Overrides & { from?: string | Promise }, ): 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; backUnbacked( asset: string, amount: BigNumberish, fee: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; borrow( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, referralCode: BigNumberish, onBehalfOf: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; configureEModeCategory( id: BigNumberish, config: { ltv: BigNumberish; liquidationThreshold: BigNumberish; liquidationBonus: BigNumberish; priceSource: string; label: string; }, overrides?: Overrides & { from?: string | Promise }, ): Promise; deposit( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; dropReserve( asset: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; finalizeTransfer( asset: string, from: string, to: string, amount: BigNumberish, balanceFromBefore: BigNumberish, balanceToBefore: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; flashLoan( receiverAddress: string, assets: string[], amounts: BigNumberish[], interestRateModes: BigNumberish[], onBehalfOf: string, params: BytesLike, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; flashLoanSimple( receiverAddress: string, asset: string, amount: BigNumberish, params: BytesLike, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; getConfiguration( asset: string, overrides?: CallOverrides, ): Promise; getEModeCategoryData( id: BigNumberish, overrides?: CallOverrides, ): Promise; getReserveData( asset: string, overrides?: CallOverrides, ): Promise; getReserveNormalizedIncome( asset: string, overrides?: CallOverrides, ): Promise; getReserveNormalizedVariableDebt( asset: string, overrides?: CallOverrides, ): Promise; getReservesList(overrides?: CallOverrides): Promise; getUserAccountData( user: string, overrides?: CallOverrides, ): Promise; getUserConfiguration( user: string, overrides?: CallOverrides, ): Promise; getUserEMode( user: string, overrides?: CallOverrides, ): Promise; initReserve( asset: string, aTokenAddress: string, stableDebtAddress: string, variableDebtAddress: string, interestRateStrategyAddress: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; liquidationCall( collateralAsset: string, debtAsset: string, user: string, debtToCover: BigNumberish, receiveAToken: boolean, overrides?: Overrides & { from?: string | Promise }, ): Promise; mintToTreasury( assets: string[], overrides?: Overrides & { from?: string | Promise }, ): Promise; mintUnbacked( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; rebalanceStableBorrowRate( asset: string, user: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; repay( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, onBehalfOf: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; repayWithATokens( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; repayWithPermit( asset: string, amount: BigNumberish, interestRateMode: BigNumberish, onBehalfOf: string, deadline: BigNumberish, permitV: BigNumberish, permitR: BytesLike, permitS: BytesLike, overrides?: Overrides & { from?: string | Promise }, ): Promise; setConfiguration( asset: string, configuration: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; setReserveInterestRateStrategyAddress( asset: string, rateStrategyAddress: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; setUserEMode( categoryId: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; setUserUseReserveAsCollateral( asset: string, useAsCollateral: boolean, overrides?: Overrides & { from?: string | Promise }, ): Promise; supply( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; supplyWithPermit( asset: string, amount: BigNumberish, onBehalfOf: string, referralCode: BigNumberish, deadline: BigNumberish, permitV: BigNumberish, permitR: BytesLike, permitS: BytesLike, overrides?: Overrides & { from?: string | Promise }, ): Promise; swapBorrowRateMode( asset: string, interestRateMode: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; updateBridgeProtocolFee( bridgeProtocolFee: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; updateFlashloanPremiums( flashLoanPremiumTotal: BigNumberish, flashLoanPremiumToProtocol: BigNumberish, overrides?: Overrides & { from?: string | Promise }, ): Promise; withdraw( asset: string, amount: BigNumberish, to: string, overrides?: Overrides & { from?: string | Promise }, ): Promise; }; }