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 IUiIncentiveDataProviderV2 { type IncentiveDataStruct = { emissionPerSecond: BigNumberish; incentivesLastUpdateTimestamp: BigNumberish; tokenIncentivesIndex: BigNumberish; emissionEndTimestamp: BigNumberish; tokenAddress: AddressLike; rewardTokenAddress: AddressLike; incentiveControllerAddress: AddressLike; rewardTokenDecimals: BigNumberish; precision: BigNumberish; }; type IncentiveDataStructOutput = [ emissionPerSecond: bigint, incentivesLastUpdateTimestamp: bigint, tokenIncentivesIndex: bigint, emissionEndTimestamp: bigint, tokenAddress: string, rewardTokenAddress: string, incentiveControllerAddress: string, rewardTokenDecimals: bigint, precision: bigint ] & { emissionPerSecond: bigint; incentivesLastUpdateTimestamp: bigint; tokenIncentivesIndex: bigint; emissionEndTimestamp: bigint; tokenAddress: string; rewardTokenAddress: string; incentiveControllerAddress: string; rewardTokenDecimals: bigint; precision: bigint; }; type AggregatedReserveIncentiveDataStruct = { underlyingAsset: AddressLike; aIncentiveData: IUiIncentiveDataProviderV2.IncentiveDataStruct; vIncentiveData: IUiIncentiveDataProviderV2.IncentiveDataStruct; sIncentiveData: IUiIncentiveDataProviderV2.IncentiveDataStruct; }; type AggregatedReserveIncentiveDataStructOutput = [ underlyingAsset: string, aIncentiveData: IUiIncentiveDataProviderV2.IncentiveDataStructOutput, vIncentiveData: IUiIncentiveDataProviderV2.IncentiveDataStructOutput, sIncentiveData: IUiIncentiveDataProviderV2.IncentiveDataStructOutput ] & { underlyingAsset: string; aIncentiveData: IUiIncentiveDataProviderV2.IncentiveDataStructOutput; vIncentiveData: IUiIncentiveDataProviderV2.IncentiveDataStructOutput; sIncentiveData: IUiIncentiveDataProviderV2.IncentiveDataStructOutput; }; type UserIncentiveDataStruct = { tokenincentivesUserIndex: BigNumberish; userUnclaimedRewards: BigNumberish; tokenAddress: AddressLike; rewardTokenAddress: AddressLike; incentiveControllerAddress: AddressLike; rewardTokenDecimals: BigNumberish; }; type UserIncentiveDataStructOutput = [ tokenincentivesUserIndex: bigint, userUnclaimedRewards: bigint, tokenAddress: string, rewardTokenAddress: string, incentiveControllerAddress: string, rewardTokenDecimals: bigint ] & { tokenincentivesUserIndex: bigint; userUnclaimedRewards: bigint; tokenAddress: string; rewardTokenAddress: string; incentiveControllerAddress: string; rewardTokenDecimals: bigint; }; type UserReserveIncentiveDataStruct = { underlyingAsset: AddressLike; aTokenIncentivesUserData: IUiIncentiveDataProviderV2.UserIncentiveDataStruct; vTokenIncentivesUserData: IUiIncentiveDataProviderV2.UserIncentiveDataStruct; sTokenIncentivesUserData: IUiIncentiveDataProviderV2.UserIncentiveDataStruct; }; type UserReserveIncentiveDataStructOutput = [ underlyingAsset: string, aTokenIncentivesUserData: IUiIncentiveDataProviderV2.UserIncentiveDataStructOutput, vTokenIncentivesUserData: IUiIncentiveDataProviderV2.UserIncentiveDataStructOutput, sTokenIncentivesUserData: IUiIncentiveDataProviderV2.UserIncentiveDataStructOutput ] & { underlyingAsset: string; aTokenIncentivesUserData: IUiIncentiveDataProviderV2.UserIncentiveDataStructOutput; vTokenIncentivesUserData: IUiIncentiveDataProviderV2.UserIncentiveDataStructOutput; sTokenIncentivesUserData: IUiIncentiveDataProviderV2.UserIncentiveDataStructOutput; }; } export interface UiIncentiveDataProviderV2Interface extends Interface { getFunction(nameOrSignature: "getFullReservesIncentiveData" | "getReservesIncentivesData" | "getUserReservesIncentivesData"): FunctionFragment; encodeFunctionData(functionFragment: "getFullReservesIncentiveData", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "getReservesIncentivesData", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getUserReservesIncentivesData", values: [AddressLike, AddressLike]): string; decodeFunctionResult(functionFragment: "getFullReservesIncentiveData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReservesIncentivesData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getUserReservesIncentivesData", data: BytesLike): Result; } export interface UiIncentiveDataProviderV2 extends BaseContract { connect(runner?: ContractRunner | null): UiIncentiveDataProviderV2; waitForDeployment(): Promise; interface: UiIncentiveDataProviderV2Interface; 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; getFullReservesIncentiveData: TypedContractMethod<[ provider: AddressLike, user: AddressLike ], [ [ IUiIncentiveDataProviderV2.AggregatedReserveIncentiveDataStructOutput[], IUiIncentiveDataProviderV2.UserReserveIncentiveDataStructOutput[] ] ], "view">; getReservesIncentivesData: TypedContractMethod<[ provider: AddressLike ], [ IUiIncentiveDataProviderV2.AggregatedReserveIncentiveDataStructOutput[] ], "view">; getUserReservesIncentivesData: TypedContractMethod<[ provider: AddressLike, user: AddressLike ], [ IUiIncentiveDataProviderV2.UserReserveIncentiveDataStructOutput[] ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "getFullReservesIncentiveData"): TypedContractMethod<[ provider: AddressLike, user: AddressLike ], [ [ IUiIncentiveDataProviderV2.AggregatedReserveIncentiveDataStructOutput[], IUiIncentiveDataProviderV2.UserReserveIncentiveDataStructOutput[] ] ], "view">; getFunction(nameOrSignature: "getReservesIncentivesData"): TypedContractMethod<[ provider: AddressLike ], [ IUiIncentiveDataProviderV2.AggregatedReserveIncentiveDataStructOutput[] ], "view">; getFunction(nameOrSignature: "getUserReservesIncentivesData"): TypedContractMethod<[ provider: AddressLike, user: AddressLike ], [ IUiIncentiveDataProviderV2.UserReserveIncentiveDataStructOutput[] ], "view">; filters: {}; }