import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; export declare namespace CometConfiguration { type ExtConfigurationStruct = { name32: BytesLike; symbol32: BytesLike; }; type ExtConfigurationStructOutput = [ name32: string, symbol32: string ] & { name32: string; symbol32: string; }; } export declare namespace CometStorage { type TotalsBasicStruct = { baseSupplyIndex: BigNumberish; baseBorrowIndex: BigNumberish; trackingSupplyIndex: BigNumberish; trackingBorrowIndex: BigNumberish; totalSupplyBase: BigNumberish; totalBorrowBase: BigNumberish; lastAccrualTime: BigNumberish; pauseFlags: BigNumberish; }; type TotalsBasicStructOutput = [ baseSupplyIndex: bigint, baseBorrowIndex: bigint, trackingSupplyIndex: bigint, trackingBorrowIndex: bigint, totalSupplyBase: bigint, totalBorrowBase: bigint, lastAccrualTime: bigint, pauseFlags: bigint ] & { baseSupplyIndex: bigint; baseBorrowIndex: bigint; trackingSupplyIndex: bigint; trackingBorrowIndex: bigint; totalSupplyBase: bigint; totalBorrowBase: bigint; lastAccrualTime: bigint; pauseFlags: bigint; }; } export interface CometExtInterface extends Interface { getFunction(nameOrSignature: "allow" | "allowBySig" | "allowance" | "approve" | "baseAccrualScale" | "baseIndexScale" | "baseTrackingAccrued" | "collateralBalanceOf" | "factorScale" | "hasPermission" | "isAllowed" | "liquidatorPoints" | "maxAssets" | "name" | "priceScale" | "symbol" | "totalsBasic" | "totalsCollateral" | "userBasic" | "userCollateral" | "userNonce" | "version"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; encodeFunctionData(functionFragment: "allow", values: [AddressLike, boolean]): string; encodeFunctionData(functionFragment: "allowBySig", values: [ AddressLike, AddressLike, boolean, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "baseAccrualScale", values?: undefined): string; encodeFunctionData(functionFragment: "baseIndexScale", values?: undefined): string; encodeFunctionData(functionFragment: "baseTrackingAccrued", values: [AddressLike]): string; encodeFunctionData(functionFragment: "collateralBalanceOf", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "factorScale", values?: undefined): string; encodeFunctionData(functionFragment: "hasPermission", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "isAllowed", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "liquidatorPoints", values: [AddressLike]): string; encodeFunctionData(functionFragment: "maxAssets", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "priceScale", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalsBasic", values?: undefined): string; encodeFunctionData(functionFragment: "totalsCollateral", values: [AddressLike]): string; encodeFunctionData(functionFragment: "userBasic", values: [AddressLike]): string; encodeFunctionData(functionFragment: "userCollateral", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "userNonce", values: [AddressLike]): string; encodeFunctionData(functionFragment: "version", values?: undefined): string; 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: "baseAccrualScale", data: BytesLike): Result; decodeFunctionResult(functionFragment: "baseIndexScale", data: BytesLike): Result; decodeFunctionResult(functionFragment: "baseTrackingAccrued", data: BytesLike): Result; decodeFunctionResult(functionFragment: "collateralBalanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "factorScale", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasPermission", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isAllowed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "liquidatorPoints", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxAssets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "priceScale", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalsBasic", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalsCollateral", 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; } export declare namespace ApprovalEvent { type InputTuple = [ owner: AddressLike, spender: AddressLike, amount: BigNumberish ]; type OutputTuple = [owner: string, spender: string, amount: bigint]; interface OutputObject { owner: string; spender: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface CometExt extends BaseContract { connect(runner?: ContractRunner | null): CometExt; waitForDeployment(): Promise; interface: CometExtInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; allow: TypedContractMethod<[ manager: AddressLike, isAllowed_: boolean ], [ void ], "nonpayable">; allowBySig: TypedContractMethod<[ owner: AddressLike, manager: AddressLike, isAllowed_: boolean, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; baseAccrualScale: TypedContractMethod<[], [bigint], "view">; baseIndexScale: TypedContractMethod<[], [bigint], "view">; baseTrackingAccrued: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; collateralBalanceOf: TypedContractMethod<[ account: AddressLike, asset: AddressLike ], [ bigint ], "view">; factorScale: TypedContractMethod<[], [bigint], "view">; hasPermission: TypedContractMethod<[ owner: AddressLike, manager: AddressLike ], [ boolean ], "view">; isAllowed: TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike ], [ boolean ], "view">; liquidatorPoints: TypedContractMethod<[ arg0: AddressLike ], [ [ bigint, bigint, bigint, bigint ] & { numAbsorbs: bigint; numAbsorbed: bigint; approxSpend: bigint; _reserved: bigint; } ], "view">; maxAssets: TypedContractMethod<[], [bigint], "view">; name: TypedContractMethod<[], [string], "view">; priceScale: TypedContractMethod<[], [bigint], "view">; symbol: TypedContractMethod<[], [string], "view">; totalsBasic: TypedContractMethod<[ ], [ CometStorage.TotalsBasicStructOutput ], "view">; totalsCollateral: TypedContractMethod<[ arg0: AddressLike ], [ [bigint, bigint] & { totalSupplyAsset: bigint; _reserved: bigint; } ], "view">; userBasic: TypedContractMethod<[ arg0: AddressLike ], [ [ bigint, bigint, bigint, bigint, bigint ] & { principal: bigint; baseTrackingIndex: bigint; baseTrackingAccrued: bigint; assetsIn: bigint; _reserved: bigint; } ], "view">; userCollateral: TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike ], [ [bigint, bigint] & { balance: bigint; _reserved: bigint; } ], "view">; userNonce: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; version: TypedContractMethod<[], [string], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "allow"): TypedContractMethod<[ manager: AddressLike, isAllowed_: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "allowBySig"): TypedContractMethod<[ owner: AddressLike, manager: AddressLike, isAllowed_: boolean, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "baseAccrualScale"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "baseIndexScale"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "baseTrackingAccrued"): TypedContractMethod<[account: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "collateralBalanceOf"): TypedContractMethod<[ account: AddressLike, asset: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "factorScale"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "hasPermission"): TypedContractMethod<[ owner: AddressLike, manager: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "isAllowed"): TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "liquidatorPoints"): TypedContractMethod<[ arg0: AddressLike ], [ [ bigint, bigint, bigint, bigint ] & { numAbsorbs: bigint; numAbsorbed: bigint; approxSpend: bigint; _reserved: bigint; } ], "view">; getFunction(nameOrSignature: "maxAssets"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "priceScale"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "totalsBasic"): TypedContractMethod<[], [CometStorage.TotalsBasicStructOutput], "view">; getFunction(nameOrSignature: "totalsCollateral"): TypedContractMethod<[ arg0: AddressLike ], [ [bigint, bigint] & { totalSupplyAsset: bigint; _reserved: bigint; } ], "view">; getFunction(nameOrSignature: "userBasic"): TypedContractMethod<[ arg0: AddressLike ], [ [ bigint, bigint, bigint, bigint, bigint ] & { principal: bigint; baseTrackingIndex: bigint; baseTrackingAccrued: bigint; assetsIn: bigint; _reserved: bigint; } ], "view">; getFunction(nameOrSignature: "userCollateral"): TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike ], [ [bigint, bigint] & { balance: bigint; _reserved: bigint; } ], "view">; getFunction(nameOrSignature: "userNonce"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "version"): TypedContractMethod<[], [string], "view">; getEvent(key: "Approval"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; }; }