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 ATokenInterface extends utils.Interface { functions: { "ATOKEN_REVISION()": FunctionFragment; "DOMAIN_SEPARATOR()": FunctionFragment; "EIP712_REVISION()": FunctionFragment; "PERMIT_TYPEHASH()": FunctionFragment; "POOL()": FunctionFragment; "RESERVE_TREASURY_ADDRESS()": FunctionFragment; "UINT_MAX_VALUE()": FunctionFragment; "UNDERLYING_ASSET_ADDRESS()": FunctionFragment; "_nonces(address)": FunctionFragment; "allowance(address,address)": FunctionFragment; "approve(address,uint256)": FunctionFragment; "balanceOf(address)": FunctionFragment; "burn(address,address,uint256,uint256)": FunctionFragment; "decimals()": FunctionFragment; "decreaseAllowance(address,uint256)": FunctionFragment; "getScaledUserBalanceAndSupply(address)": FunctionFragment; "increaseAllowance(address,uint256)": FunctionFragment; "initialize(uint8,string,string)": FunctionFragment; "mint(address,uint256,uint256)": FunctionFragment; "mintToTreasury(uint256,uint256)": FunctionFragment; "name()": FunctionFragment; "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; "scaledBalanceOf(address)": FunctionFragment; "scaledTotalSupply()": FunctionFragment; "symbol()": FunctionFragment; "totalSupply()": FunctionFragment; "transfer(address,uint256)": FunctionFragment; "transferFrom(address,address,uint256)": FunctionFragment; "transferOnLiquidation(address,address,uint256)": FunctionFragment; "transferUnderlyingTo(address,uint256)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "ATOKEN_REVISION" | "DOMAIN_SEPARATOR" | "EIP712_REVISION" | "PERMIT_TYPEHASH" | "POOL" | "RESERVE_TREASURY_ADDRESS" | "UINT_MAX_VALUE" | "UNDERLYING_ASSET_ADDRESS" | "_nonces" | "allowance" | "approve" | "balanceOf" | "burn" | "decimals" | "decreaseAllowance" | "getScaledUserBalanceAndSupply" | "increaseAllowance" | "initialize" | "mint" | "mintToTreasury" | "name" | "permit" | "scaledBalanceOf" | "scaledTotalSupply" | "symbol" | "totalSupply" | "transfer" | "transferFrom" | "transferOnLiquidation" | "transferUnderlyingTo"): FunctionFragment; encodeFunctionData(functionFragment: "ATOKEN_REVISION", values?: undefined): string; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "EIP712_REVISION", values?: undefined): string; encodeFunctionData(functionFragment: "PERMIT_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "POOL", values?: undefined): string; encodeFunctionData(functionFragment: "RESERVE_TREASURY_ADDRESS", values?: undefined): string; encodeFunctionData(functionFragment: "UINT_MAX_VALUE", values?: undefined): string; encodeFunctionData(functionFragment: "UNDERLYING_ASSET_ADDRESS", values?: undefined): string; encodeFunctionData(functionFragment: "_nonces", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "allowance", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "approve", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "balanceOf", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "burn", values: [ PromiseOrValue, 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 ]): string; encodeFunctionData(functionFragment: "mintToTreasury", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "permit", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): 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; encodeFunctionData(functionFragment: "transferOnLiquidation", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "transferUnderlyingTo", values: [PromiseOrValue, PromiseOrValue]): string; decodeFunctionResult(functionFragment: "ATOKEN_REVISION", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "EIP712_REVISION", data: BytesLike): Result; decodeFunctionResult(functionFragment: "PERMIT_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "POOL", data: BytesLike): Result; decodeFunctionResult(functionFragment: "RESERVE_TREASURY_ADDRESS", data: BytesLike): Result; decodeFunctionResult(functionFragment: "UINT_MAX_VALUE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "UNDERLYING_ASSET_ADDRESS", data: BytesLike): Result; decodeFunctionResult(functionFragment: "_nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", 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: "mintToTreasury", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", 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; decodeFunctionResult(functionFragment: "transferOnLiquidation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferUnderlyingTo", data: BytesLike): Result; events: { "Approval(address,address,uint256)": EventFragment; "BalanceTransfer(address,address,uint256,uint256)": EventFragment; "Burn(address,address,uint256,uint256)": EventFragment; "Mint(address,uint256,uint256)": EventFragment; "Transfer(address,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; getEvent(nameOrSignatureOrTopic: "BalanceTransfer"): 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 BalanceTransferEventObject { from: string; to: string; value: BigNumber; index: BigNumber; } export type BalanceTransferEvent = TypedEvent<[ string, string, BigNumber, BigNumber ], BalanceTransferEventObject>; export type BalanceTransferEventFilter = TypedEventFilter; export interface BurnEventObject { from: string; target: string; value: BigNumber; index: BigNumber; } export type BurnEvent = TypedEvent<[ string, string, BigNumber, BigNumber ], BurnEventObject>; export type BurnEventFilter = TypedEventFilter; export interface MintEventObject { from: string; value: BigNumber; index: BigNumber; } export type MintEvent = TypedEvent<[ 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 AToken extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: ATokenInterface; 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: { ATOKEN_REVISION(overrides?: CallOverrides): Promise<[BigNumber]>; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>; EIP712_REVISION(overrides?: CallOverrides): Promise<[string]>; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; POOL(overrides?: CallOverrides): Promise<[string]>; RESERVE_TREASURY_ADDRESS(overrides?: CallOverrides): Promise<[string]>; UINT_MAX_VALUE(overrides?: CallOverrides): Promise<[BigNumber]>; UNDERLYING_ASSET_ADDRESS(overrides?: CallOverrides): Promise<[string]>; _nonces(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; balanceOf(user: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; burn(user: PromiseOrValue, receiverOfUnderlying: 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(underlyingAssetDecimals: PromiseOrValue, tokenName: PromiseOrValue, tokenSymbol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mint(user: PromiseOrValue, amount: PromiseOrValue, index: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mintToTreasury(amount: PromiseOrValue, index: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; name(overrides?: CallOverrides): Promise<[string]>; permit(owner: PromiseOrValue, spender: PromiseOrValue, value: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; 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; transferOnLiquidation(from: PromiseOrValue, to: PromiseOrValue, value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferUnderlyingTo(target: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; ATOKEN_REVISION(overrides?: CallOverrides): Promise; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; EIP712_REVISION(overrides?: CallOverrides): Promise; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise; POOL(overrides?: CallOverrides): Promise; RESERVE_TREASURY_ADDRESS(overrides?: CallOverrides): Promise; UINT_MAX_VALUE(overrides?: CallOverrides): Promise; UNDERLYING_ASSET_ADDRESS(overrides?: CallOverrides): Promise; _nonces(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; balanceOf(user: PromiseOrValue, overrides?: CallOverrides): Promise; burn(user: PromiseOrValue, receiverOfUnderlying: 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(underlyingAssetDecimals: PromiseOrValue, tokenName: PromiseOrValue, tokenSymbol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mint(user: PromiseOrValue, amount: PromiseOrValue, index: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mintToTreasury(amount: PromiseOrValue, index: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; name(overrides?: CallOverrides): Promise; permit(owner: PromiseOrValue, spender: PromiseOrValue, value: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): 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; transferOnLiquidation(from: PromiseOrValue, to: PromiseOrValue, value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferUnderlyingTo(target: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; callStatic: { ATOKEN_REVISION(overrides?: CallOverrides): Promise; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; EIP712_REVISION(overrides?: CallOverrides): Promise; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise; POOL(overrides?: CallOverrides): Promise; RESERVE_TREASURY_ADDRESS(overrides?: CallOverrides): Promise; UINT_MAX_VALUE(overrides?: CallOverrides): Promise; UNDERLYING_ASSET_ADDRESS(overrides?: CallOverrides): Promise; _nonces(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides): Promise; balanceOf(user: PromiseOrValue, overrides?: CallOverrides): Promise; burn(user: PromiseOrValue, receiverOfUnderlying: 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(underlyingAssetDecimals: PromiseOrValue, tokenName: PromiseOrValue, tokenSymbol: PromiseOrValue, overrides?: CallOverrides): Promise; mint(user: PromiseOrValue, amount: PromiseOrValue, index: PromiseOrValue, overrides?: CallOverrides): Promise; mintToTreasury(amount: PromiseOrValue, index: PromiseOrValue, overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; permit(owner: PromiseOrValue, spender: PromiseOrValue, value: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, 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; transferOnLiquidation(from: PromiseOrValue, to: PromiseOrValue, value: PromiseOrValue, overrides?: CallOverrides): Promise; transferUnderlyingTo(target: 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; "BalanceTransfer(address,address,uint256,uint256)"(from?: PromiseOrValue | null, to?: PromiseOrValue | null, value?: null, index?: null): BalanceTransferEventFilter; BalanceTransfer(from?: PromiseOrValue | null, to?: PromiseOrValue | null, value?: null, index?: null): BalanceTransferEventFilter; "Burn(address,address,uint256,uint256)"(from?: PromiseOrValue | null, target?: PromiseOrValue | null, value?: null, index?: null): BurnEventFilter; Burn(from?: PromiseOrValue | null, target?: PromiseOrValue | null, value?: null, index?: null): BurnEventFilter; "Mint(address,uint256,uint256)"(from?: PromiseOrValue | null, value?: null, index?: null): MintEventFilter; Mint(from?: 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: { ATOKEN_REVISION(overrides?: CallOverrides): Promise; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; EIP712_REVISION(overrides?: CallOverrides): Promise; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise; POOL(overrides?: CallOverrides): Promise; RESERVE_TREASURY_ADDRESS(overrides?: CallOverrides): Promise; UINT_MAX_VALUE(overrides?: CallOverrides): Promise; UNDERLYING_ASSET_ADDRESS(overrides?: CallOverrides): Promise; _nonces(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; balanceOf(user: PromiseOrValue, overrides?: CallOverrides): Promise; burn(user: PromiseOrValue, receiverOfUnderlying: 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(underlyingAssetDecimals: PromiseOrValue, tokenName: PromiseOrValue, tokenSymbol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mint(user: PromiseOrValue, amount: PromiseOrValue, index: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mintToTreasury(amount: PromiseOrValue, index: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; name(overrides?: CallOverrides): Promise; permit(owner: PromiseOrValue, spender: PromiseOrValue, value: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): 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; transferOnLiquidation(from: PromiseOrValue, to: PromiseOrValue, value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferUnderlyingTo(target: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { ATOKEN_REVISION(overrides?: CallOverrides): Promise; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; EIP712_REVISION(overrides?: CallOverrides): Promise; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise; POOL(overrides?: CallOverrides): Promise; RESERVE_TREASURY_ADDRESS(overrides?: CallOverrides): Promise; UINT_MAX_VALUE(overrides?: CallOverrides): Promise; UNDERLYING_ASSET_ADDRESS(overrides?: CallOverrides): Promise; _nonces(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; balanceOf(user: PromiseOrValue, overrides?: CallOverrides): Promise; burn(user: PromiseOrValue, receiverOfUnderlying: 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(underlyingAssetDecimals: PromiseOrValue, tokenName: PromiseOrValue, tokenSymbol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mint(user: PromiseOrValue, amount: PromiseOrValue, index: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; mintToTreasury(amount: PromiseOrValue, index: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; name(overrides?: CallOverrides): Promise; permit(owner: PromiseOrValue, spender: PromiseOrValue, value: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): 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; transferOnLiquidation(from: PromiseOrValue, to: PromiseOrValue, value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferUnderlyingTo(target: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; }