import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../common"; export declare namespace IXen { type MintInfoStruct = { user: AddressLike; term: BigNumberish; maturityTs: BigNumberish; rank: BigNumberish; amplifier: BigNumberish; eaaRate: BigNumberish; }; type MintInfoStructOutput = [ user: string, term: bigint, maturityTs: bigint, rank: bigint, amplifier: bigint, eaaRate: bigint ] & { user: string; term: bigint; maturityTs: bigint; rank: bigint; amplifier: bigint; eaaRate: bigint; }; } export interface IXenInterface extends Interface { getFunction(nameOrSignature: "userMints"): FunctionFragment; encodeFunctionData(functionFragment: "userMints", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "userMints", data: BytesLike): Result; } export interface IXen extends BaseContract { connect(runner?: ContractRunner | null): IXen; waitForDeployment(): Promise; interface: IXenInterface; 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; userMints: TypedContractMethod<[ user: AddressLike ], [ IXen.MintInfoStructOutput ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "userMints"): TypedContractMethod<[ user: AddressLike ], [ IXen.MintInfoStructOutput ], "view">; filters: {}; }