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 } from './common'; export declare namespace CometCore { type AssetInfoStruct = { offset: BigNumberish; asset: string; priceFeed: string; scale: BigNumberish; borrowCollateralFactor: BigNumberish; liquidateCollateralFactor: BigNumberish; liquidationFactor: BigNumberish; supplyCap: BigNumberish; }; type AssetInfoStructOutput = [ number, string, string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { offset: number; asset: string; priceFeed: string; scale: BigNumber; borrowCollateralFactor: BigNumber; liquidateCollateralFactor: BigNumber; liquidationFactor: BigNumber; supplyCap: BigNumber; }; } export declare namespace CometStorage { type TotalsBasicStruct = { baseSupplyIndex: BigNumberish; baseBorrowIndex: BigNumberish; trackingSupplyIndex: BigNumberish; trackingBorrowIndex: BigNumberish; totalSupplyBase: BigNumberish; totalBorrowBase: BigNumberish; lastAccrualTime: BigNumberish; pauseFlags: BigNumberish; }; type TotalsBasicStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, number, number ] & { baseSupplyIndex: BigNumber; baseBorrowIndex: BigNumber; trackingSupplyIndex: BigNumber; trackingBorrowIndex: BigNumber; totalSupplyBase: BigNumber; totalBorrowBase: BigNumber; lastAccrualTime: number; pauseFlags: number; }; } export interface CometInterface extends utils.Interface { functions: { 'absorb(address,address[])': FunctionFragment; 'accrueAccount(address)': FunctionFragment; 'allow(address,bool)': FunctionFragment; 'allowBySig(address,address,bool,uint256,uint256,uint8,bytes32,bytes32)': FunctionFragment; 'allowance(address,address)': FunctionFragment; 'approve(address,uint256)': FunctionFragment; 'approveThis(address,address,uint256)': FunctionFragment; 'balanceOf(address)': FunctionFragment; 'baseAccrualScale()': FunctionFragment; 'baseBorrowMin()': FunctionFragment; 'baseIndexScale()': FunctionFragment; 'baseMinForRewards()': FunctionFragment; 'baseScale()': FunctionFragment; 'baseToken()': FunctionFragment; 'baseTokenPriceFeed()': FunctionFragment; 'baseTrackingAccrued(address)': FunctionFragment; 'baseTrackingBorrowSpeed()': FunctionFragment; 'baseTrackingSupplySpeed()': FunctionFragment; 'borrowBalanceOf(address)': FunctionFragment; 'borrowKink()': FunctionFragment; 'borrowPerSecondInterestRateBase()': FunctionFragment; 'borrowPerSecondInterestRateSlopeHigh()': FunctionFragment; 'borrowPerSecondInterestRateSlopeLow()': FunctionFragment; 'buyCollateral(address,uint256,uint256,address)': FunctionFragment; 'collateralBalanceOf(address,address)': FunctionFragment; 'decimals()': FunctionFragment; 'extensionDelegate()': FunctionFragment; 'factorScale()': FunctionFragment; 'getAssetInfo(uint8)': FunctionFragment; 'getAssetInfoByAddress(address)': FunctionFragment; 'getBorrowRate(uint256)': FunctionFragment; 'getPrice(address)': FunctionFragment; 'getReserves()': FunctionFragment; 'getSupplyRate(uint256)': FunctionFragment; 'getUtilization()': FunctionFragment; 'governor()': FunctionFragment; 'hasPermission(address,address)': FunctionFragment; 'initializeStorage()': FunctionFragment; 'isAbsorbPaused()': FunctionFragment; 'isAllowed(address,address)': FunctionFragment; 'isBorrowCollateralized(address)': FunctionFragment; 'isBuyPaused()': FunctionFragment; 'isLiquidatable(address)': FunctionFragment; 'isSupplyPaused()': FunctionFragment; 'isTransferPaused()': FunctionFragment; 'isWithdrawPaused()': FunctionFragment; 'liquidatorPoints(address)': FunctionFragment; 'maxAssets()': FunctionFragment; 'name()': FunctionFragment; 'numAssets()': FunctionFragment; 'pause(bool,bool,bool,bool,bool)': FunctionFragment; 'pauseGuardian()': FunctionFragment; 'priceScale()': FunctionFragment; 'quoteCollateral(address,uint256)': FunctionFragment; 'storeFrontPriceFactor()': FunctionFragment; 'supply(address,uint256)': FunctionFragment; 'supplyFrom(address,address,address,uint256)': FunctionFragment; 'supplyKink()': FunctionFragment; 'supplyPerSecondInterestRateBase()': FunctionFragment; 'supplyPerSecondInterestRateSlopeHigh()': FunctionFragment; 'supplyPerSecondInterestRateSlopeLow()': FunctionFragment; 'supplyTo(address,address,uint256)': FunctionFragment; 'symbol()': FunctionFragment; 'targetReserves()': FunctionFragment; 'totalBorrow()': FunctionFragment; 'totalSupply()': FunctionFragment; 'totalsBasic()': FunctionFragment; 'totalsCollateral(address)': FunctionFragment; 'trackingIndexScale()': FunctionFragment; 'transfer(address,uint256)': FunctionFragment; 'transferAsset(address,address,uint256)': FunctionFragment; 'transferAssetFrom(address,address,address,uint256)': FunctionFragment; 'transferFrom(address,address,uint256)': FunctionFragment; 'userBasic(address)': FunctionFragment; 'userCollateral(address,address)': FunctionFragment; 'userNonce(address)': FunctionFragment; 'version()': FunctionFragment; 'withdraw(address,uint256)': FunctionFragment; 'withdrawFrom(address,address,address,uint256)': FunctionFragment; 'withdrawReserves(address,uint256)': FunctionFragment; 'withdrawTo(address,address,uint256)': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'absorb' | 'accrueAccount' | 'allow' | 'allowBySig' | 'allowance' | 'approve' | 'approveThis' | 'balanceOf' | 'baseAccrualScale' | 'baseBorrowMin' | 'baseIndexScale' | 'baseMinForRewards' | 'baseScale' | 'baseToken' | 'baseTokenPriceFeed' | 'baseTrackingAccrued' | 'baseTrackingBorrowSpeed' | 'baseTrackingSupplySpeed' | 'borrowBalanceOf' | 'borrowKink' | 'borrowPerSecondInterestRateBase' | 'borrowPerSecondInterestRateSlopeHigh' | 'borrowPerSecondInterestRateSlopeLow' | 'buyCollateral' | 'collateralBalanceOf' | 'decimals' | 'extensionDelegate' | 'factorScale' | 'getAssetInfo' | 'getAssetInfoByAddress' | 'getBorrowRate' | 'getPrice' | 'getReserves' | 'getSupplyRate' | 'getUtilization' | 'governor' | 'hasPermission' | 'initializeStorage' | 'isAbsorbPaused' | 'isAllowed' | 'isBorrowCollateralized' | 'isBuyPaused' | 'isLiquidatable' | 'isSupplyPaused' | 'isTransferPaused' | 'isWithdrawPaused' | 'liquidatorPoints' | 'maxAssets' | 'name' | 'numAssets' | 'pause' | 'pauseGuardian' | 'priceScale' | 'quoteCollateral' | 'storeFrontPriceFactor' | 'supply' | 'supplyFrom' | 'supplyKink' | 'supplyPerSecondInterestRateBase' | 'supplyPerSecondInterestRateSlopeHigh' | 'supplyPerSecondInterestRateSlopeLow' | 'supplyTo' | 'symbol' | 'targetReserves' | 'totalBorrow' | 'totalSupply' | 'totalsBasic' | 'totalsCollateral' | 'trackingIndexScale' | 'transfer' | 'transferAsset' | 'transferAssetFrom' | 'transferFrom' | 'userBasic' | 'userCollateral' | 'userNonce' | 'version' | 'withdraw' | 'withdrawFrom' | 'withdrawReserves' | 'withdrawTo'): FunctionFragment; encodeFunctionData(functionFragment: 'absorb', values: [string, string[]]): string; encodeFunctionData(functionFragment: 'accrueAccount', values: [string]): string; encodeFunctionData(functionFragment: 'allow', values: [string, boolean]): string; encodeFunctionData(functionFragment: 'allowBySig', values: [string, string, boolean, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: 'allowance', values: [string, string]): string; encodeFunctionData(functionFragment: 'approve', values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: 'approveThis', values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: 'balanceOf', values: [string]): string; encodeFunctionData(functionFragment: 'baseAccrualScale', values?: undefined): string; encodeFunctionData(functionFragment: 'baseBorrowMin', values?: undefined): string; encodeFunctionData(functionFragment: 'baseIndexScale', values?: undefined): string; encodeFunctionData(functionFragment: 'baseMinForRewards', values?: undefined): string; encodeFunctionData(functionFragment: 'baseScale', values?: undefined): string; encodeFunctionData(functionFragment: 'baseToken', values?: undefined): string; encodeFunctionData(functionFragment: 'baseTokenPriceFeed', values?: undefined): string; encodeFunctionData(functionFragment: 'baseTrackingAccrued', values: [string]): string; encodeFunctionData(functionFragment: 'baseTrackingBorrowSpeed', values?: undefined): string; encodeFunctionData(functionFragment: 'baseTrackingSupplySpeed', values?: undefined): string; encodeFunctionData(functionFragment: 'borrowBalanceOf', values: [string]): string; encodeFunctionData(functionFragment: 'borrowKink', values?: undefined): string; encodeFunctionData(functionFragment: 'borrowPerSecondInterestRateBase', values?: undefined): string; encodeFunctionData(functionFragment: 'borrowPerSecondInterestRateSlopeHigh', values?: undefined): string; encodeFunctionData(functionFragment: 'borrowPerSecondInterestRateSlopeLow', values?: undefined): string; encodeFunctionData(functionFragment: 'buyCollateral', values: [string, BigNumberish, BigNumberish, string]): string; encodeFunctionData(functionFragment: 'collateralBalanceOf', values: [string, string]): string; encodeFunctionData(functionFragment: 'decimals', values?: undefined): string; encodeFunctionData(functionFragment: 'extensionDelegate', values?: undefined): string; encodeFunctionData(functionFragment: 'factorScale', values?: undefined): string; encodeFunctionData(functionFragment: 'getAssetInfo', values: [BigNumberish]): string; encodeFunctionData(functionFragment: 'getAssetInfoByAddress', values: [string]): string; encodeFunctionData(functionFragment: 'getBorrowRate', values: [BigNumberish]): string; encodeFunctionData(functionFragment: 'getPrice', values: [string]): string; encodeFunctionData(functionFragment: 'getReserves', values?: undefined): string; encodeFunctionData(functionFragment: 'getSupplyRate', values: [BigNumberish]): string; encodeFunctionData(functionFragment: 'getUtilization', values?: undefined): string; encodeFunctionData(functionFragment: 'governor', values?: undefined): string; encodeFunctionData(functionFragment: 'hasPermission', values: [string, string]): string; encodeFunctionData(functionFragment: 'initializeStorage', values?: undefined): string; encodeFunctionData(functionFragment: 'isAbsorbPaused', values?: undefined): string; encodeFunctionData(functionFragment: 'isAllowed', values: [string, string]): string; encodeFunctionData(functionFragment: 'isBorrowCollateralized', values: [string]): string; encodeFunctionData(functionFragment: 'isBuyPaused', values?: undefined): string; encodeFunctionData(functionFragment: 'isLiquidatable', values: [string]): string; encodeFunctionData(functionFragment: 'isSupplyPaused', values?: undefined): string; encodeFunctionData(functionFragment: 'isTransferPaused', values?: undefined): string; encodeFunctionData(functionFragment: 'isWithdrawPaused', values?: undefined): string; encodeFunctionData(functionFragment: 'liquidatorPoints', values: [string]): string; encodeFunctionData(functionFragment: 'maxAssets', values?: undefined): string; encodeFunctionData(functionFragment: 'name', values?: undefined): string; encodeFunctionData(functionFragment: 'numAssets', values?: undefined): string; encodeFunctionData(functionFragment: 'pause', values: [boolean, boolean, boolean, boolean, boolean]): string; encodeFunctionData(functionFragment: 'pauseGuardian', values?: undefined): string; encodeFunctionData(functionFragment: 'priceScale', values?: undefined): string; encodeFunctionData(functionFragment: 'quoteCollateral', values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: 'storeFrontPriceFactor', values?: undefined): string; encodeFunctionData(functionFragment: 'supply', values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: 'supplyFrom', values: [string, string, string, BigNumberish]): string; encodeFunctionData(functionFragment: 'supplyKink', values?: undefined): string; encodeFunctionData(functionFragment: 'supplyPerSecondInterestRateBase', values?: undefined): string; encodeFunctionData(functionFragment: 'supplyPerSecondInterestRateSlopeHigh', values?: undefined): string; encodeFunctionData(functionFragment: 'supplyPerSecondInterestRateSlopeLow', values?: undefined): string; encodeFunctionData(functionFragment: 'supplyTo', values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: 'symbol', values?: undefined): string; encodeFunctionData(functionFragment: 'targetReserves', values?: undefined): string; encodeFunctionData(functionFragment: 'totalBorrow', values?: undefined): string; encodeFunctionData(functionFragment: 'totalSupply', values?: undefined): string; encodeFunctionData(functionFragment: 'totalsBasic', values?: undefined): string; encodeFunctionData(functionFragment: 'totalsCollateral', values: [string]): string; encodeFunctionData(functionFragment: 'trackingIndexScale', values?: undefined): string; encodeFunctionData(functionFragment: 'transfer', values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: 'transferAsset', values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: 'transferAssetFrom', values: [string, string, string, BigNumberish]): string; encodeFunctionData(functionFragment: 'transferFrom', values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: 'userBasic', values: [string]): string; encodeFunctionData(functionFragment: 'userCollateral', values: [string, string]): string; encodeFunctionData(functionFragment: 'userNonce', values: [string]): string; encodeFunctionData(functionFragment: 'version', values?: undefined): string; encodeFunctionData(functionFragment: 'withdraw', values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: 'withdrawFrom', values: [string, string, string, BigNumberish]): string; encodeFunctionData(functionFragment: 'withdrawReserves', values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: 'withdrawTo', values: [string, string, BigNumberish]): string; decodeFunctionResult(functionFragment: 'absorb', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'accrueAccount', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'allow', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'allowBySig', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'allowance', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'approve', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'approveThis', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'balanceOf', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'baseAccrualScale', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'baseBorrowMin', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'baseIndexScale', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'baseMinForRewards', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'baseScale', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'baseToken', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'baseTokenPriceFeed', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'baseTrackingAccrued', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'baseTrackingBorrowSpeed', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'baseTrackingSupplySpeed', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'borrowBalanceOf', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'borrowKink', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'borrowPerSecondInterestRateBase', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'borrowPerSecondInterestRateSlopeHigh', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'borrowPerSecondInterestRateSlopeLow', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'buyCollateral', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'collateralBalanceOf', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'decimals', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'extensionDelegate', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'factorScale', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getAssetInfo', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getAssetInfoByAddress', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getBorrowRate', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getPrice', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getReserves', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getSupplyRate', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getUtilization', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'governor', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'hasPermission', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'initializeStorage', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'isAbsorbPaused', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'isAllowed', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'isBorrowCollateralized', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'isBuyPaused', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'isLiquidatable', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'isSupplyPaused', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'isTransferPaused', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'isWithdrawPaused', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'liquidatorPoints', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'maxAssets', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'name', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'numAssets', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'pause', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'pauseGuardian', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'priceScale', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'quoteCollateral', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'storeFrontPriceFactor', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'supply', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'supplyFrom', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'supplyKink', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'supplyPerSecondInterestRateBase', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'supplyPerSecondInterestRateSlopeHigh', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'supplyPerSecondInterestRateSlopeLow', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'supplyTo', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'symbol', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'targetReserves', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'totalBorrow', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'totalSupply', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'totalsBasic', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'totalsCollateral', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'trackingIndexScale', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'transfer', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'transferAsset', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'transferAssetFrom', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'transferFrom', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'userBasic', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'userCollateral', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'userNonce', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'version', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'withdraw', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'withdrawFrom', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'withdrawReserves', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'withdrawTo', data: BytesLike): Result; events: { 'AbsorbCollateral(address,address,address,uint256,uint256)': EventFragment; 'AbsorbDebt(address,address,uint256,uint256)': EventFragment; 'Approval(address,address,uint256)': EventFragment; 'BuyCollateral(address,address,uint256,uint256)': EventFragment; 'PauseAction(bool,bool,bool,bool,bool)': EventFragment; 'Supply(address,address,uint256)': EventFragment; 'SupplyCollateral(address,address,address,uint256)': EventFragment; 'Transfer(address,address,uint256)': EventFragment; 'TransferCollateral(address,address,address,uint256)': EventFragment; 'Withdraw(address,address,uint256)': EventFragment; 'WithdrawCollateral(address,address,address,uint256)': EventFragment; 'WithdrawReserves(address,uint256)': EventFragment; }; getEvent(nameOrSignatureOrTopic: 'AbsorbCollateral'): EventFragment; getEvent(nameOrSignatureOrTopic: 'AbsorbDebt'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Approval'): EventFragment; getEvent(nameOrSignatureOrTopic: 'BuyCollateral'): EventFragment; getEvent(nameOrSignatureOrTopic: 'PauseAction'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Supply'): EventFragment; getEvent(nameOrSignatureOrTopic: 'SupplyCollateral'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Transfer'): EventFragment; getEvent(nameOrSignatureOrTopic: 'TransferCollateral'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Withdraw'): EventFragment; getEvent(nameOrSignatureOrTopic: 'WithdrawCollateral'): EventFragment; getEvent(nameOrSignatureOrTopic: 'WithdrawReserves'): EventFragment; } export interface AbsorbCollateralEventObject { absorber: string; borrower: string; asset: string; collateralAbsorbed: BigNumber; usdValue: BigNumber; } export type AbsorbCollateralEvent = TypedEvent<[ string, string, string, BigNumber, BigNumber ], AbsorbCollateralEventObject>; export type AbsorbCollateralEventFilter = TypedEventFilter; export interface AbsorbDebtEventObject { absorber: string; borrower: string; basePaidOut: BigNumber; usdValue: BigNumber; } export type AbsorbDebtEvent = TypedEvent<[string, string, BigNumber, BigNumber], AbsorbDebtEventObject>; export type AbsorbDebtEventFilter = TypedEventFilter; export interface ApprovalEventObject { owner: string; spender: string; amount: BigNumber; } export type ApprovalEvent = TypedEvent<[string, string, BigNumber], ApprovalEventObject>; export type ApprovalEventFilter = TypedEventFilter; export interface BuyCollateralEventObject { buyer: string; asset: string; baseAmount: BigNumber; collateralAmount: BigNumber; } export type BuyCollateralEvent = TypedEvent<[string, string, BigNumber, BigNumber], BuyCollateralEventObject>; export type BuyCollateralEventFilter = TypedEventFilter; export interface PauseActionEventObject { supplyPaused: boolean; transferPaused: boolean; withdrawPaused: boolean; absorbPaused: boolean; buyPaused: boolean; } export type PauseActionEvent = TypedEvent<[boolean, boolean, boolean, boolean, boolean], PauseActionEventObject>; export type PauseActionEventFilter = TypedEventFilter; export interface SupplyEventObject { from: string; dst: string; amount: BigNumber; } export type SupplyEvent = TypedEvent<[string, string, BigNumber], SupplyEventObject>; export type SupplyEventFilter = TypedEventFilter; export interface SupplyCollateralEventObject { from: string; dst: string; asset: string; amount: BigNumber; } export type SupplyCollateralEvent = TypedEvent<[string, string, string, BigNumber], SupplyCollateralEventObject>; export type SupplyCollateralEventFilter = TypedEventFilter; export interface TransferEventObject { from: string; to: string; amount: BigNumber; } export type TransferEvent = TypedEvent<[string, string, BigNumber], TransferEventObject>; export type TransferEventFilter = TypedEventFilter; export interface TransferCollateralEventObject { from: string; to: string; asset: string; amount: BigNumber; } export type TransferCollateralEvent = TypedEvent<[string, string, string, BigNumber], TransferCollateralEventObject>; export type TransferCollateralEventFilter = TypedEventFilter; export interface WithdrawEventObject { src: string; to: string; amount: BigNumber; } export type WithdrawEvent = TypedEvent<[string, string, BigNumber], WithdrawEventObject>; export type WithdrawEventFilter = TypedEventFilter; export interface WithdrawCollateralEventObject { src: string; to: string; asset: string; amount: BigNumber; } export type WithdrawCollateralEvent = TypedEvent<[string, string, string, BigNumber], WithdrawCollateralEventObject>; export type WithdrawCollateralEventFilter = TypedEventFilter; export interface WithdrawReservesEventObject { to: string; amount: BigNumber; } export type WithdrawReservesEvent = TypedEvent<[string, BigNumber], WithdrawReservesEventObject>; export type WithdrawReservesEventFilter = TypedEventFilter; export interface Comet extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: CometInterface; 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: { absorb(absorber: string, accounts: string[], overrides?: Overrides & { from?: string; }): Promise; accrueAccount(account: string, overrides?: Overrides & { from?: string; }): Promise; allow(manager: string, isAllowed: boolean, overrides?: Overrides & { from?: string; }): Promise; allowBySig(owner: string, manager: string, isAllowed: boolean, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides & { from?: string; }): Promise; allowance(owner: string, spender: string, overrides?: CallOverrides): Promise<[BigNumber]>; approve(spender: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; approveThis(manager: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise<[BigNumber]>; baseAccrualScale(overrides?: CallOverrides): Promise<[BigNumber]>; baseBorrowMin(overrides?: CallOverrides): Promise<[BigNumber]>; baseIndexScale(overrides?: CallOverrides): Promise<[BigNumber]>; baseMinForRewards(overrides?: CallOverrides): Promise<[BigNumber]>; baseScale(overrides?: CallOverrides): Promise<[BigNumber]>; baseToken(overrides?: CallOverrides): Promise<[string]>; baseTokenPriceFeed(overrides?: CallOverrides): Promise<[string]>; baseTrackingAccrued(account: string, overrides?: CallOverrides): Promise<[BigNumber]>; baseTrackingBorrowSpeed(overrides?: CallOverrides): Promise<[BigNumber]>; baseTrackingSupplySpeed(overrides?: CallOverrides): Promise<[BigNumber]>; borrowBalanceOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>; borrowKink(overrides?: CallOverrides): Promise<[BigNumber]>; borrowPerSecondInterestRateBase(overrides?: CallOverrides): Promise<[BigNumber]>; borrowPerSecondInterestRateSlopeHigh(overrides?: CallOverrides): Promise<[BigNumber]>; borrowPerSecondInterestRateSlopeLow(overrides?: CallOverrides): Promise<[BigNumber]>; buyCollateral(asset: string, minAmount: BigNumberish, baseAmount: BigNumberish, recipient: string, overrides?: Overrides & { from?: string; }): Promise; collateralBalanceOf(account: string, asset: string, overrides?: CallOverrides): Promise<[BigNumber]>; decimals(overrides?: CallOverrides): Promise<[number]>; extensionDelegate(overrides?: CallOverrides): Promise<[string]>; factorScale(overrides?: CallOverrides): Promise<[BigNumber]>; getAssetInfo(i: BigNumberish, overrides?: CallOverrides): Promise<[CometCore.AssetInfoStructOutput]>; getAssetInfoByAddress(asset: string, overrides?: CallOverrides): Promise<[CometCore.AssetInfoStructOutput]>; getBorrowRate(utilization: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; getPrice(priceFeed: string, overrides?: CallOverrides): Promise<[BigNumber]>; getReserves(overrides?: CallOverrides): Promise<[BigNumber]>; getSupplyRate(utilization: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; getUtilization(overrides?: CallOverrides): Promise<[BigNumber]>; governor(overrides?: CallOverrides): Promise<[string]>; hasPermission(owner: string, manager: string, overrides?: CallOverrides): Promise<[boolean]>; initializeStorage(overrides?: Overrides & { from?: string; }): Promise; isAbsorbPaused(overrides?: CallOverrides): Promise<[boolean]>; isAllowed(arg0: string, arg1: string, overrides?: CallOverrides): Promise<[boolean]>; isBorrowCollateralized(account: string, overrides?: CallOverrides): Promise<[boolean]>; isBuyPaused(overrides?: CallOverrides): Promise<[boolean]>; isLiquidatable(account: string, overrides?: CallOverrides): Promise<[boolean]>; isSupplyPaused(overrides?: CallOverrides): Promise<[boolean]>; isTransferPaused(overrides?: CallOverrides): Promise<[boolean]>; isWithdrawPaused(overrides?: CallOverrides): Promise<[boolean]>; liquidatorPoints(arg0: string, overrides?: CallOverrides): Promise<[ number, BigNumber, BigNumber, number ] & { numAbsorbs: number; numAbsorbed: BigNumber; approxSpend: BigNumber; _reserved: number; }>; maxAssets(overrides?: CallOverrides): Promise<[number]>; name(overrides?: CallOverrides): Promise<[string]>; numAssets(overrides?: CallOverrides): Promise<[number]>; pause(supplyPaused: boolean, transferPaused: boolean, withdrawPaused: boolean, absorbPaused: boolean, buyPaused: boolean, overrides?: Overrides & { from?: string; }): Promise; pauseGuardian(overrides?: CallOverrides): Promise<[string]>; priceScale(overrides?: CallOverrides): Promise<[BigNumber]>; quoteCollateral(asset: string, baseAmount: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; storeFrontPriceFactor(overrides?: CallOverrides): Promise<[BigNumber]>; supply(asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; supplyFrom(from: string, dst: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; supplyKink(overrides?: CallOverrides): Promise<[BigNumber]>; supplyPerSecondInterestRateBase(overrides?: CallOverrides): Promise<[BigNumber]>; supplyPerSecondInterestRateSlopeHigh(overrides?: CallOverrides): Promise<[BigNumber]>; supplyPerSecondInterestRateSlopeLow(overrides?: CallOverrides): Promise<[BigNumber]>; supplyTo(dst: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; symbol(overrides?: CallOverrides): Promise<[string]>; targetReserves(overrides?: CallOverrides): Promise<[BigNumber]>; totalBorrow(overrides?: CallOverrides): Promise<[BigNumber]>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; totalsBasic(overrides?: CallOverrides): Promise<[CometStorage.TotalsBasicStructOutput]>; totalsCollateral(arg0: string, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { totalSupplyAsset: BigNumber; _reserved: BigNumber; }>; trackingIndexScale(overrides?: CallOverrides): Promise<[BigNumber]>; transfer(dst: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferAsset(dst: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferAssetFrom(src: string, dst: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferFrom(src: string, dst: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; userBasic(arg0: string, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, number, number ] & { principal: BigNumber; baseTrackingIndex: BigNumber; baseTrackingAccrued: BigNumber; assetsIn: number; _reserved: number; }>; userCollateral(arg0: string, arg1: string, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & { balance: BigNumber; _reserved: BigNumber; }>; userNonce(arg0: string, overrides?: CallOverrides): Promise<[BigNumber]>; version(overrides?: CallOverrides): Promise<[string]>; withdraw(asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawFrom(src: string, to: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawReserves(to: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawTo(to: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; absorb(absorber: string, accounts: string[], overrides?: Overrides & { from?: string; }): Promise; accrueAccount(account: string, overrides?: Overrides & { from?: string; }): Promise; allow(manager: string, isAllowed: boolean, overrides?: Overrides & { from?: string; }): Promise; allowBySig(owner: string, manager: string, isAllowed: boolean, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides & { from?: string; }): Promise; allowance(owner: string, spender: string, overrides?: CallOverrides): Promise; approve(spender: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; approveThis(manager: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise; baseAccrualScale(overrides?: CallOverrides): Promise; baseBorrowMin(overrides?: CallOverrides): Promise; baseIndexScale(overrides?: CallOverrides): Promise; baseMinForRewards(overrides?: CallOverrides): Promise; baseScale(overrides?: CallOverrides): Promise; baseToken(overrides?: CallOverrides): Promise; baseTokenPriceFeed(overrides?: CallOverrides): Promise; baseTrackingAccrued(account: string, overrides?: CallOverrides): Promise; baseTrackingBorrowSpeed(overrides?: CallOverrides): Promise; baseTrackingSupplySpeed(overrides?: CallOverrides): Promise; borrowBalanceOf(account: string, overrides?: CallOverrides): Promise; borrowKink(overrides?: CallOverrides): Promise; borrowPerSecondInterestRateBase(overrides?: CallOverrides): Promise; borrowPerSecondInterestRateSlopeHigh(overrides?: CallOverrides): Promise; borrowPerSecondInterestRateSlopeLow(overrides?: CallOverrides): Promise; buyCollateral(asset: string, minAmount: BigNumberish, baseAmount: BigNumberish, recipient: string, overrides?: Overrides & { from?: string; }): Promise; collateralBalanceOf(account: string, asset: string, overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; extensionDelegate(overrides?: CallOverrides): Promise; factorScale(overrides?: CallOverrides): Promise; getAssetInfo(i: BigNumberish, overrides?: CallOverrides): Promise; getAssetInfoByAddress(asset: string, overrides?: CallOverrides): Promise; getBorrowRate(utilization: BigNumberish, overrides?: CallOverrides): Promise; getPrice(priceFeed: string, overrides?: CallOverrides): Promise; getReserves(overrides?: CallOverrides): Promise; getSupplyRate(utilization: BigNumberish, overrides?: CallOverrides): Promise; getUtilization(overrides?: CallOverrides): Promise; governor(overrides?: CallOverrides): Promise; hasPermission(owner: string, manager: string, overrides?: CallOverrides): Promise; initializeStorage(overrides?: Overrides & { from?: string; }): Promise; isAbsorbPaused(overrides?: CallOverrides): Promise; isAllowed(arg0: string, arg1: string, overrides?: CallOverrides): Promise; isBorrowCollateralized(account: string, overrides?: CallOverrides): Promise; isBuyPaused(overrides?: CallOverrides): Promise; isLiquidatable(account: string, overrides?: CallOverrides): Promise; isSupplyPaused(overrides?: CallOverrides): Promise; isTransferPaused(overrides?: CallOverrides): Promise; isWithdrawPaused(overrides?: CallOverrides): Promise; liquidatorPoints(arg0: string, overrides?: CallOverrides): Promise<[ number, BigNumber, BigNumber, number ] & { numAbsorbs: number; numAbsorbed: BigNumber; approxSpend: BigNumber; _reserved: number; }>; maxAssets(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; numAssets(overrides?: CallOverrides): Promise; pause(supplyPaused: boolean, transferPaused: boolean, withdrawPaused: boolean, absorbPaused: boolean, buyPaused: boolean, overrides?: Overrides & { from?: string; }): Promise; pauseGuardian(overrides?: CallOverrides): Promise; priceScale(overrides?: CallOverrides): Promise; quoteCollateral(asset: string, baseAmount: BigNumberish, overrides?: CallOverrides): Promise; storeFrontPriceFactor(overrides?: CallOverrides): Promise; supply(asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; supplyFrom(from: string, dst: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; supplyKink(overrides?: CallOverrides): Promise; supplyPerSecondInterestRateBase(overrides?: CallOverrides): Promise; supplyPerSecondInterestRateSlopeHigh(overrides?: CallOverrides): Promise; supplyPerSecondInterestRateSlopeLow(overrides?: CallOverrides): Promise; supplyTo(dst: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; symbol(overrides?: CallOverrides): Promise; targetReserves(overrides?: CallOverrides): Promise; totalBorrow(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; totalsBasic(overrides?: CallOverrides): Promise; totalsCollateral(arg0: string, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { totalSupplyAsset: BigNumber; _reserved: BigNumber; }>; trackingIndexScale(overrides?: CallOverrides): Promise; transfer(dst: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferAsset(dst: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferAssetFrom(src: string, dst: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferFrom(src: string, dst: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; userBasic(arg0: string, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, number, number ] & { principal: BigNumber; baseTrackingIndex: BigNumber; baseTrackingAccrued: BigNumber; assetsIn: number; _reserved: number; }>; userCollateral(arg0: string, arg1: string, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & { balance: BigNumber; _reserved: BigNumber; }>; userNonce(arg0: string, overrides?: CallOverrides): Promise; version(overrides?: CallOverrides): Promise; withdraw(asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawFrom(src: string, to: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawReserves(to: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawTo(to: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; callStatic: { absorb(absorber: string, accounts: string[], overrides?: CallOverrides): Promise; accrueAccount(account: string, overrides?: CallOverrides): Promise; allow(manager: string, isAllowed: boolean, overrides?: CallOverrides): Promise; allowBySig(owner: string, manager: string, isAllowed: boolean, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides): Promise; allowance(owner: string, spender: string, overrides?: CallOverrides): Promise; approve(spender: string, amount: BigNumberish, overrides?: CallOverrides): Promise; approveThis(manager: string, asset: string, amount: BigNumberish, overrides?: CallOverrides): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise; baseAccrualScale(overrides?: CallOverrides): Promise; baseBorrowMin(overrides?: CallOverrides): Promise; baseIndexScale(overrides?: CallOverrides): Promise; baseMinForRewards(overrides?: CallOverrides): Promise; baseScale(overrides?: CallOverrides): Promise; baseToken(overrides?: CallOverrides): Promise; baseTokenPriceFeed(overrides?: CallOverrides): Promise; baseTrackingAccrued(account: string, overrides?: CallOverrides): Promise; baseTrackingBorrowSpeed(overrides?: CallOverrides): Promise; baseTrackingSupplySpeed(overrides?: CallOverrides): Promise; borrowBalanceOf(account: string, overrides?: CallOverrides): Promise; borrowKink(overrides?: CallOverrides): Promise; borrowPerSecondInterestRateBase(overrides?: CallOverrides): Promise; borrowPerSecondInterestRateSlopeHigh(overrides?: CallOverrides): Promise; borrowPerSecondInterestRateSlopeLow(overrides?: CallOverrides): Promise; buyCollateral(asset: string, minAmount: BigNumberish, baseAmount: BigNumberish, recipient: string, overrides?: CallOverrides): Promise; collateralBalanceOf(account: string, asset: string, overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; extensionDelegate(overrides?: CallOverrides): Promise; factorScale(overrides?: CallOverrides): Promise; getAssetInfo(i: BigNumberish, overrides?: CallOverrides): Promise; getAssetInfoByAddress(asset: string, overrides?: CallOverrides): Promise; getBorrowRate(utilization: BigNumberish, overrides?: CallOverrides): Promise; getPrice(priceFeed: string, overrides?: CallOverrides): Promise; getReserves(overrides?: CallOverrides): Promise; getSupplyRate(utilization: BigNumberish, overrides?: CallOverrides): Promise; getUtilization(overrides?: CallOverrides): Promise; governor(overrides?: CallOverrides): Promise; hasPermission(owner: string, manager: string, overrides?: CallOverrides): Promise; initializeStorage(overrides?: CallOverrides): Promise; isAbsorbPaused(overrides?: CallOverrides): Promise; isAllowed(arg0: string, arg1: string, overrides?: CallOverrides): Promise; isBorrowCollateralized(account: string, overrides?: CallOverrides): Promise; isBuyPaused(overrides?: CallOverrides): Promise; isLiquidatable(account: string, overrides?: CallOverrides): Promise; isSupplyPaused(overrides?: CallOverrides): Promise; isTransferPaused(overrides?: CallOverrides): Promise; isWithdrawPaused(overrides?: CallOverrides): Promise; liquidatorPoints(arg0: string, overrides?: CallOverrides): Promise<[ number, BigNumber, BigNumber, number ] & { numAbsorbs: number; numAbsorbed: BigNumber; approxSpend: BigNumber; _reserved: number; }>; maxAssets(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; numAssets(overrides?: CallOverrides): Promise; pause(supplyPaused: boolean, transferPaused: boolean, withdrawPaused: boolean, absorbPaused: boolean, buyPaused: boolean, overrides?: CallOverrides): Promise; pauseGuardian(overrides?: CallOverrides): Promise; priceScale(overrides?: CallOverrides): Promise; quoteCollateral(asset: string, baseAmount: BigNumberish, overrides?: CallOverrides): Promise; storeFrontPriceFactor(overrides?: CallOverrides): Promise; supply(asset: string, amount: BigNumberish, overrides?: CallOverrides): Promise; supplyFrom(from: string, dst: string, asset: string, amount: BigNumberish, overrides?: CallOverrides): Promise; supplyKink(overrides?: CallOverrides): Promise; supplyPerSecondInterestRateBase(overrides?: CallOverrides): Promise; supplyPerSecondInterestRateSlopeHigh(overrides?: CallOverrides): Promise; supplyPerSecondInterestRateSlopeLow(overrides?: CallOverrides): Promise; supplyTo(dst: string, asset: string, amount: BigNumberish, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; targetReserves(overrides?: CallOverrides): Promise; totalBorrow(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; totalsBasic(overrides?: CallOverrides): Promise; totalsCollateral(arg0: string, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { totalSupplyAsset: BigNumber; _reserved: BigNumber; }>; trackingIndexScale(overrides?: CallOverrides): Promise; transfer(dst: string, amount: BigNumberish, overrides?: CallOverrides): Promise; transferAsset(dst: string, asset: string, amount: BigNumberish, overrides?: CallOverrides): Promise; transferAssetFrom(src: string, dst: string, asset: string, amount: BigNumberish, overrides?: CallOverrides): Promise; transferFrom(src: string, dst: string, amount: BigNumberish, overrides?: CallOverrides): Promise; userBasic(arg0: string, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, number, number ] & { principal: BigNumber; baseTrackingIndex: BigNumber; baseTrackingAccrued: BigNumber; assetsIn: number; _reserved: number; }>; userCollateral(arg0: string, arg1: string, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & { balance: BigNumber; _reserved: BigNumber; }>; userNonce(arg0: string, overrides?: CallOverrides): Promise; version(overrides?: CallOverrides): Promise; withdraw(asset: string, amount: BigNumberish, overrides?: CallOverrides): Promise; withdrawFrom(src: string, to: string, asset: string, amount: BigNumberish, overrides?: CallOverrides): Promise; withdrawReserves(to: string, amount: BigNumberish, overrides?: CallOverrides): Promise; withdrawTo(to: string, asset: string, amount: BigNumberish, overrides?: CallOverrides): Promise; }; filters: { 'AbsorbCollateral(address,address,address,uint256,uint256)'(absorber?: string | null, borrower?: string | null, asset?: string | null, collateralAbsorbed?: null, usdValue?: null): AbsorbCollateralEventFilter; AbsorbCollateral(absorber?: string | null, borrower?: string | null, asset?: string | null, collateralAbsorbed?: null, usdValue?: null): AbsorbCollateralEventFilter; 'AbsorbDebt(address,address,uint256,uint256)'(absorber?: string | null, borrower?: string | null, basePaidOut?: null, usdValue?: null): AbsorbDebtEventFilter; AbsorbDebt(absorber?: string | null, borrower?: string | null, basePaidOut?: null, usdValue?: null): AbsorbDebtEventFilter; 'Approval(address,address,uint256)'(owner?: string | null, spender?: string | null, amount?: null): ApprovalEventFilter; Approval(owner?: string | null, spender?: string | null, amount?: null): ApprovalEventFilter; 'BuyCollateral(address,address,uint256,uint256)'(buyer?: string | null, asset?: string | null, baseAmount?: null, collateralAmount?: null): BuyCollateralEventFilter; BuyCollateral(buyer?: string | null, asset?: string | null, baseAmount?: null, collateralAmount?: null): BuyCollateralEventFilter; 'PauseAction(bool,bool,bool,bool,bool)'(supplyPaused?: null, transferPaused?: null, withdrawPaused?: null, absorbPaused?: null, buyPaused?: null): PauseActionEventFilter; PauseAction(supplyPaused?: null, transferPaused?: null, withdrawPaused?: null, absorbPaused?: null, buyPaused?: null): PauseActionEventFilter; 'Supply(address,address,uint256)'(from?: string | null, dst?: string | null, amount?: null): SupplyEventFilter; Supply(from?: string | null, dst?: string | null, amount?: null): SupplyEventFilter; 'SupplyCollateral(address,address,address,uint256)'(from?: string | null, dst?: string | null, asset?: string | null, amount?: null): SupplyCollateralEventFilter; SupplyCollateral(from?: string | null, dst?: string | null, asset?: string | null, amount?: null): SupplyCollateralEventFilter; 'Transfer(address,address,uint256)'(from?: string | null, to?: string | null, amount?: null): TransferEventFilter; Transfer(from?: string | null, to?: string | null, amount?: null): TransferEventFilter; 'TransferCollateral(address,address,address,uint256)'(from?: string | null, to?: string | null, asset?: string | null, amount?: null): TransferCollateralEventFilter; TransferCollateral(from?: string | null, to?: string | null, asset?: string | null, amount?: null): TransferCollateralEventFilter; 'Withdraw(address,address,uint256)'(src?: string | null, to?: string | null, amount?: null): WithdrawEventFilter; Withdraw(src?: string | null, to?: string | null, amount?: null): WithdrawEventFilter; 'WithdrawCollateral(address,address,address,uint256)'(src?: string | null, to?: string | null, asset?: string | null, amount?: null): WithdrawCollateralEventFilter; WithdrawCollateral(src?: string | null, to?: string | null, asset?: string | null, amount?: null): WithdrawCollateralEventFilter; 'WithdrawReserves(address,uint256)'(to?: string | null, amount?: null): WithdrawReservesEventFilter; WithdrawReserves(to?: string | null, amount?: null): WithdrawReservesEventFilter; }; estimateGas: { absorb(absorber: string, accounts: string[], overrides?: Overrides & { from?: string; }): Promise; accrueAccount(account: string, overrides?: Overrides & { from?: string; }): Promise; allow(manager: string, isAllowed: boolean, overrides?: Overrides & { from?: string; }): Promise; allowBySig(owner: string, manager: string, isAllowed: boolean, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides & { from?: string; }): Promise; allowance(owner: string, spender: string, overrides?: CallOverrides): Promise; approve(spender: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; approveThis(manager: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise; baseAccrualScale(overrides?: CallOverrides): Promise; baseBorrowMin(overrides?: CallOverrides): Promise; baseIndexScale(overrides?: CallOverrides): Promise; baseMinForRewards(overrides?: CallOverrides): Promise; baseScale(overrides?: CallOverrides): Promise; baseToken(overrides?: CallOverrides): Promise; baseTokenPriceFeed(overrides?: CallOverrides): Promise; baseTrackingAccrued(account: string, overrides?: CallOverrides): Promise; baseTrackingBorrowSpeed(overrides?: CallOverrides): Promise; baseTrackingSupplySpeed(overrides?: CallOverrides): Promise; borrowBalanceOf(account: string, overrides?: CallOverrides): Promise; borrowKink(overrides?: CallOverrides): Promise; borrowPerSecondInterestRateBase(overrides?: CallOverrides): Promise; borrowPerSecondInterestRateSlopeHigh(overrides?: CallOverrides): Promise; borrowPerSecondInterestRateSlopeLow(overrides?: CallOverrides): Promise; buyCollateral(asset: string, minAmount: BigNumberish, baseAmount: BigNumberish, recipient: string, overrides?: Overrides & { from?: string; }): Promise; collateralBalanceOf(account: string, asset: string, overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; extensionDelegate(overrides?: CallOverrides): Promise; factorScale(overrides?: CallOverrides): Promise; getAssetInfo(i: BigNumberish, overrides?: CallOverrides): Promise; getAssetInfoByAddress(asset: string, overrides?: CallOverrides): Promise; getBorrowRate(utilization: BigNumberish, overrides?: CallOverrides): Promise; getPrice(priceFeed: string, overrides?: CallOverrides): Promise; getReserves(overrides?: CallOverrides): Promise; getSupplyRate(utilization: BigNumberish, overrides?: CallOverrides): Promise; getUtilization(overrides?: CallOverrides): Promise; governor(overrides?: CallOverrides): Promise; hasPermission(owner: string, manager: string, overrides?: CallOverrides): Promise; initializeStorage(overrides?: Overrides & { from?: string; }): Promise; isAbsorbPaused(overrides?: CallOverrides): Promise; isAllowed(arg0: string, arg1: string, overrides?: CallOverrides): Promise; isBorrowCollateralized(account: string, overrides?: CallOverrides): Promise; isBuyPaused(overrides?: CallOverrides): Promise; isLiquidatable(account: string, overrides?: CallOverrides): Promise; isSupplyPaused(overrides?: CallOverrides): Promise; isTransferPaused(overrides?: CallOverrides): Promise; isWithdrawPaused(overrides?: CallOverrides): Promise; liquidatorPoints(arg0: string, overrides?: CallOverrides): Promise; maxAssets(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; numAssets(overrides?: CallOverrides): Promise; pause(supplyPaused: boolean, transferPaused: boolean, withdrawPaused: boolean, absorbPaused: boolean, buyPaused: boolean, overrides?: Overrides & { from?: string; }): Promise; pauseGuardian(overrides?: CallOverrides): Promise; priceScale(overrides?: CallOverrides): Promise; quoteCollateral(asset: string, baseAmount: BigNumberish, overrides?: CallOverrides): Promise; storeFrontPriceFactor(overrides?: CallOverrides): Promise; supply(asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; supplyFrom(from: string, dst: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; supplyKink(overrides?: CallOverrides): Promise; supplyPerSecondInterestRateBase(overrides?: CallOverrides): Promise; supplyPerSecondInterestRateSlopeHigh(overrides?: CallOverrides): Promise; supplyPerSecondInterestRateSlopeLow(overrides?: CallOverrides): Promise; supplyTo(dst: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; symbol(overrides?: CallOverrides): Promise; targetReserves(overrides?: CallOverrides): Promise; totalBorrow(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; totalsBasic(overrides?: CallOverrides): Promise; totalsCollateral(arg0: string, overrides?: CallOverrides): Promise; trackingIndexScale(overrides?: CallOverrides): Promise; transfer(dst: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferAsset(dst: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferAssetFrom(src: string, dst: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferFrom(src: string, dst: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; userBasic(arg0: string, overrides?: CallOverrides): Promise; userCollateral(arg0: string, arg1: string, overrides?: CallOverrides): Promise; userNonce(arg0: string, overrides?: CallOverrides): Promise; version(overrides?: CallOverrides): Promise; withdraw(asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawFrom(src: string, to: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawReserves(to: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawTo(to: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; populateTransaction: { absorb(absorber: string, accounts: string[], overrides?: Overrides & { from?: string; }): Promise; accrueAccount(account: string, overrides?: Overrides & { from?: string; }): Promise; allow(manager: string, isAllowed: boolean, overrides?: Overrides & { from?: string; }): Promise; allowBySig(owner: string, manager: string, isAllowed: boolean, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides & { from?: string; }): Promise; allowance(owner: string, spender: string, overrides?: CallOverrides): Promise; approve(spender: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; approveThis(manager: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise; baseAccrualScale(overrides?: CallOverrides): Promise; baseBorrowMin(overrides?: CallOverrides): Promise; baseIndexScale(overrides?: CallOverrides): Promise; baseMinForRewards(overrides?: CallOverrides): Promise; baseScale(overrides?: CallOverrides): Promise; baseToken(overrides?: CallOverrides): Promise; baseTokenPriceFeed(overrides?: CallOverrides): Promise; baseTrackingAccrued(account: string, overrides?: CallOverrides): Promise; baseTrackingBorrowSpeed(overrides?: CallOverrides): Promise; baseTrackingSupplySpeed(overrides?: CallOverrides): Promise; borrowBalanceOf(account: string, overrides?: CallOverrides): Promise; borrowKink(overrides?: CallOverrides): Promise; borrowPerSecondInterestRateBase(overrides?: CallOverrides): Promise; borrowPerSecondInterestRateSlopeHigh(overrides?: CallOverrides): Promise; borrowPerSecondInterestRateSlopeLow(overrides?: CallOverrides): Promise; buyCollateral(asset: string, minAmount: BigNumberish, baseAmount: BigNumberish, recipient: string, overrides?: Overrides & { from?: string; }): Promise; collateralBalanceOf(account: string, asset: string, overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; extensionDelegate(overrides?: CallOverrides): Promise; factorScale(overrides?: CallOverrides): Promise; getAssetInfo(i: BigNumberish, overrides?: CallOverrides): Promise; getAssetInfoByAddress(asset: string, overrides?: CallOverrides): Promise; getBorrowRate(utilization: BigNumberish, overrides?: CallOverrides): Promise; getPrice(priceFeed: string, overrides?: CallOverrides): Promise; getReserves(overrides?: CallOverrides): Promise; getSupplyRate(utilization: BigNumberish, overrides?: CallOverrides): Promise; getUtilization(overrides?: CallOverrides): Promise; governor(overrides?: CallOverrides): Promise; hasPermission(owner: string, manager: string, overrides?: CallOverrides): Promise; initializeStorage(overrides?: Overrides & { from?: string; }): Promise; isAbsorbPaused(overrides?: CallOverrides): Promise; isAllowed(arg0: string, arg1: string, overrides?: CallOverrides): Promise; isBorrowCollateralized(account: string, overrides?: CallOverrides): Promise; isBuyPaused(overrides?: CallOverrides): Promise; isLiquidatable(account: string, overrides?: CallOverrides): Promise; isSupplyPaused(overrides?: CallOverrides): Promise; isTransferPaused(overrides?: CallOverrides): Promise; isWithdrawPaused(overrides?: CallOverrides): Promise; liquidatorPoints(arg0: string, overrides?: CallOverrides): Promise; maxAssets(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; numAssets(overrides?: CallOverrides): Promise; pause(supplyPaused: boolean, transferPaused: boolean, withdrawPaused: boolean, absorbPaused: boolean, buyPaused: boolean, overrides?: Overrides & { from?: string; }): Promise; pauseGuardian(overrides?: CallOverrides): Promise; priceScale(overrides?: CallOverrides): Promise; quoteCollateral(asset: string, baseAmount: BigNumberish, overrides?: CallOverrides): Promise; storeFrontPriceFactor(overrides?: CallOverrides): Promise; supply(asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; supplyFrom(from: string, dst: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; supplyKink(overrides?: CallOverrides): Promise; supplyPerSecondInterestRateBase(overrides?: CallOverrides): Promise; supplyPerSecondInterestRateSlopeHigh(overrides?: CallOverrides): Promise; supplyPerSecondInterestRateSlopeLow(overrides?: CallOverrides): Promise; supplyTo(dst: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; symbol(overrides?: CallOverrides): Promise; targetReserves(overrides?: CallOverrides): Promise; totalBorrow(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; totalsBasic(overrides?: CallOverrides): Promise; totalsCollateral(arg0: string, overrides?: CallOverrides): Promise; trackingIndexScale(overrides?: CallOverrides): Promise; transfer(dst: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferAsset(dst: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferAssetFrom(src: string, dst: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferFrom(src: string, dst: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; userBasic(arg0: string, overrides?: CallOverrides): Promise; userCollateral(arg0: string, arg1: string, overrides?: CallOverrides): Promise; userNonce(arg0: string, overrides?: CallOverrides): Promise; version(overrides?: CallOverrides): Promise; withdraw(asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawFrom(src: string, to: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawReserves(to: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawTo(to: string, asset: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; }