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 interface VariableDebtTokenInterface extends utils.Interface { functions: { "DEBT_TOKEN_REVISION()": FunctionFragment; "POOL()": FunctionFragment; "UNDERLYING_ASSET_ADDRESS()": FunctionFragment; "allowance(address,address)": FunctionFragment; "approve(address,uint256)": FunctionFragment; "approveDelegation(address,uint256)": FunctionFragment; "balanceOf(address)": FunctionFragment; "borrowAllowance(address,address)": FunctionFragment; "burn(address,uint256,uint256)": FunctionFragment; "decimals()": FunctionFragment; "decreaseAllowance(address,uint256)": FunctionFragment; "getScaledUserBalanceAndSupply(address)": FunctionFragment; "increaseAllowance(address,uint256)": FunctionFragment; "initialize(uint8,string,string)": FunctionFragment; "mint(address,address,uint256,uint256)": FunctionFragment; "name()": FunctionFragment; "scaledBalanceOf(address)": FunctionFragment; "scaledTotalSupply()": FunctionFragment; "symbol()": FunctionFragment; "totalSupply()": FunctionFragment; "transfer(address,uint256)": FunctionFragment; "transferFrom(address,address,uint256)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "DEBT_TOKEN_REVISION" | "POOL" | "UNDERLYING_ASSET_ADDRESS" | "allowance" | "approve" | "approveDelegation" | "balanceOf" | "borrowAllowance" | "burn" | "decimals" | "decreaseAllowance" | "getScaledUserBalanceAndSupply" | "increaseAllowance" | "initialize" | "mint" | "name" | "scaledBalanceOf" | "scaledTotalSupply" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; encodeFunctionData(functionFragment: "DEBT_TOKEN_REVISION", values?: undefined): string; encodeFunctionData(functionFragment: "POOL", values?: undefined): string; encodeFunctionData(functionFragment: "UNDERLYING_ASSET_ADDRESS", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "approve", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "approveDelegation", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "balanceOf", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "borrowAllowance", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "burn", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "decreaseAllowance", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "getScaledUserBalanceAndSupply", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "increaseAllowance", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "initialize", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "mint", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "scaledBalanceOf", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "scaledTotalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "transferFrom", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; decodeFunctionResult(functionFragment: "DEBT_TOKEN_REVISION", data: BytesLike): Result; decodeFunctionResult(functionFragment: "POOL", data: BytesLike): Result; decodeFunctionResult(functionFragment: "UNDERLYING_ASSET_ADDRESS", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approveDelegation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrowAllowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decreaseAllowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getScaledUserBalanceAndSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "increaseAllowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "scaledBalanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "scaledTotalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; events: { "Approval(address,address,uint256)": EventFragment; "BorrowAllowanceDelegated(address,address,address,uint256)": EventFragment; "Burn(address,uint256,uint256)": EventFragment; "Mint(address,address,uint256,uint256)": EventFragment; "Transfer(address,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; getEvent(nameOrSignatureOrTopic: "BorrowAllowanceDelegated"): EventFragment; getEvent(nameOrSignatureOrTopic: "Burn"): EventFragment; getEvent(nameOrSignatureOrTopic: "Mint"): EventFragment; getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; } export interface ApprovalEventObject { owner: string; spender: string; value: BigNumber; } export type ApprovalEvent = TypedEvent<[ string, string, BigNumber ], ApprovalEventObject>; export type ApprovalEventFilter = TypedEventFilter; export interface BorrowAllowanceDelegatedEventObject { fromUser: string; toUser: string; asset: string; amount: BigNumber; } export type BorrowAllowanceDelegatedEvent = TypedEvent<[ string, string, string, BigNumber ], BorrowAllowanceDelegatedEventObject>; export type BorrowAllowanceDelegatedEventFilter = TypedEventFilter; export interface BurnEventObject { user: string; amount: BigNumber; index: BigNumber; } export type BurnEvent = TypedEvent<[ string, BigNumber, BigNumber ], BurnEventObject>; export type BurnEventFilter = TypedEventFilter; export interface MintEventObject { from: string; onBehalfOf: string; value: BigNumber; index: BigNumber; } export type MintEvent = TypedEvent<[ string, string, BigNumber, BigNumber ], MintEventObject>; export type MintEventFilter = TypedEventFilter; export interface TransferEventObject { from: string; to: string; value: BigNumber; } export type TransferEvent = TypedEvent<[ string, string, BigNumber ], TransferEventObject>; export type TransferEventFilter = TypedEventFilter; export interface VariableDebtToken extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: VariableDebtTokenInterface; 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: { DEBT_TOKEN_REVISION(overrides?: CallOverrides): Promise<[BigNumber]>; POOL(overrides?: CallOverrides): Promise<[string]>; UNDERLYING_ASSET_ADDRESS(overrides?: CallOverrides): Promise<[string]>; allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; approveDelegation(delegatee: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; balanceOf(user: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; borrowAllowance(fromUser: PromiseOrValue, toUser: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; burn(user: PromiseOrValue, amount: PromiseOrValue, index: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; decimals(overrides?: CallOverrides): Promise<[number]>; decreaseAllowance(spender: PromiseOrValue, subtractedValue: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getScaledUserBalanceAndSupply(user: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>; increaseAllowance(spender: PromiseOrValue, addedValue: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; initialize(decimals: PromiseOrValue, name: PromiseOrValue, symbol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mint(user: PromiseOrValue, onBehalfOf: PromiseOrValue, amount: PromiseOrValue, index: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; name(overrides?: CallOverrides): Promise<[string]>; scaledBalanceOf(user: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; scaledTotalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; symbol(overrides?: CallOverrides): Promise<[string]>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; transfer(recipient: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferFrom(sender: PromiseOrValue, recipient: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; DEBT_TOKEN_REVISION(overrides?: CallOverrides): Promise; POOL(overrides?: CallOverrides): Promise; UNDERLYING_ASSET_ADDRESS(overrides?: CallOverrides): Promise; allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; approveDelegation(delegatee: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; balanceOf(user: PromiseOrValue, overrides?: CallOverrides): Promise; borrowAllowance(fromUser: PromiseOrValue, toUser: PromiseOrValue, overrides?: CallOverrides): Promise; burn(user: PromiseOrValue, amount: PromiseOrValue, index: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; decimals(overrides?: CallOverrides): Promise; decreaseAllowance(spender: PromiseOrValue, subtractedValue: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getScaledUserBalanceAndSupply(user: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>; increaseAllowance(spender: PromiseOrValue, addedValue: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; initialize(decimals: PromiseOrValue, name: PromiseOrValue, symbol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mint(user: PromiseOrValue, onBehalfOf: PromiseOrValue, amount: PromiseOrValue, index: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; name(overrides?: CallOverrides): Promise; scaledBalanceOf(user: PromiseOrValue, overrides?: CallOverrides): Promise; scaledTotalSupply(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(recipient: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferFrom(sender: PromiseOrValue, recipient: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; callStatic: { DEBT_TOKEN_REVISION(overrides?: CallOverrides): Promise; POOL(overrides?: CallOverrides): Promise; UNDERLYING_ASSET_ADDRESS(overrides?: CallOverrides): Promise; allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides): Promise; approveDelegation(delegatee: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides): Promise; balanceOf(user: PromiseOrValue, overrides?: CallOverrides): Promise; borrowAllowance(fromUser: PromiseOrValue, toUser: PromiseOrValue, overrides?: CallOverrides): Promise; burn(user: PromiseOrValue, amount: PromiseOrValue, index: PromiseOrValue, overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; decreaseAllowance(spender: PromiseOrValue, subtractedValue: PromiseOrValue, overrides?: CallOverrides): Promise; getScaledUserBalanceAndSupply(user: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>; increaseAllowance(spender: PromiseOrValue, addedValue: PromiseOrValue, overrides?: CallOverrides): Promise; initialize(decimals: PromiseOrValue, name: PromiseOrValue, symbol: PromiseOrValue, overrides?: CallOverrides): Promise; mint(user: PromiseOrValue, onBehalfOf: PromiseOrValue, amount: PromiseOrValue, index: PromiseOrValue, overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; scaledBalanceOf(user: PromiseOrValue, overrides?: CallOverrides): Promise; scaledTotalSupply(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(recipient: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides): Promise; transferFrom(sender: PromiseOrValue, recipient: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides): Promise; }; filters: { "Approval(address,address,uint256)"(owner?: PromiseOrValue | null, spender?: PromiseOrValue | null, value?: null): ApprovalEventFilter; Approval(owner?: PromiseOrValue | null, spender?: PromiseOrValue | null, value?: null): ApprovalEventFilter; "BorrowAllowanceDelegated(address,address,address,uint256)"(fromUser?: PromiseOrValue | null, toUser?: PromiseOrValue | null, asset?: null, amount?: null): BorrowAllowanceDelegatedEventFilter; BorrowAllowanceDelegated(fromUser?: PromiseOrValue | null, toUser?: PromiseOrValue | null, asset?: null, amount?: null): BorrowAllowanceDelegatedEventFilter; "Burn(address,uint256,uint256)"(user?: PromiseOrValue | null, amount?: null, index?: null): BurnEventFilter; Burn(user?: PromiseOrValue | null, amount?: null, index?: null): BurnEventFilter; "Mint(address,address,uint256,uint256)"(from?: PromiseOrValue | null, onBehalfOf?: PromiseOrValue | null, value?: null, index?: null): MintEventFilter; Mint(from?: PromiseOrValue | null, onBehalfOf?: PromiseOrValue | null, value?: null, index?: null): MintEventFilter; "Transfer(address,address,uint256)"(from?: PromiseOrValue | null, to?: PromiseOrValue | null, value?: null): TransferEventFilter; Transfer(from?: PromiseOrValue | null, to?: PromiseOrValue | null, value?: null): TransferEventFilter; }; estimateGas: { DEBT_TOKEN_REVISION(overrides?: CallOverrides): Promise; POOL(overrides?: CallOverrides): Promise; UNDERLYING_ASSET_ADDRESS(overrides?: CallOverrides): Promise; allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; approveDelegation(delegatee: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; balanceOf(user: PromiseOrValue, overrides?: CallOverrides): Promise; borrowAllowance(fromUser: PromiseOrValue, toUser: PromiseOrValue, overrides?: CallOverrides): Promise; burn(user: PromiseOrValue, amount: PromiseOrValue, index: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; decimals(overrides?: CallOverrides): Promise; decreaseAllowance(spender: PromiseOrValue, subtractedValue: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getScaledUserBalanceAndSupply(user: PromiseOrValue, overrides?: CallOverrides): Promise; increaseAllowance(spender: PromiseOrValue, addedValue: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; initialize(decimals: PromiseOrValue, name: PromiseOrValue, symbol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mint(user: PromiseOrValue, onBehalfOf: PromiseOrValue, amount: PromiseOrValue, index: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; name(overrides?: CallOverrides): Promise; scaledBalanceOf(user: PromiseOrValue, overrides?: CallOverrides): Promise; scaledTotalSupply(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(recipient: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferFrom(sender: PromiseOrValue, recipient: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { DEBT_TOKEN_REVISION(overrides?: CallOverrides): Promise; POOL(overrides?: CallOverrides): Promise; UNDERLYING_ASSET_ADDRESS(overrides?: CallOverrides): Promise; allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; approveDelegation(delegatee: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; balanceOf(user: PromiseOrValue, overrides?: CallOverrides): Promise; borrowAllowance(fromUser: PromiseOrValue, toUser: PromiseOrValue, overrides?: CallOverrides): Promise; burn(user: PromiseOrValue, amount: PromiseOrValue, index: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; decimals(overrides?: CallOverrides): Promise; decreaseAllowance(spender: PromiseOrValue, subtractedValue: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getScaledUserBalanceAndSupply(user: PromiseOrValue, overrides?: CallOverrides): Promise; increaseAllowance(spender: PromiseOrValue, addedValue: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; initialize(decimals: PromiseOrValue, name: PromiseOrValue, symbol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mint(user: PromiseOrValue, onBehalfOf: PromiseOrValue, amount: PromiseOrValue, index: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; name(overrides?: CallOverrides): Promise; scaledBalanceOf(user: PromiseOrValue, overrides?: CallOverrides): Promise; scaledTotalSupply(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(recipient: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferFrom(sender: PromiseOrValue, recipient: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; }