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 IUiIncentiveDataProviderV3 { type RewardInfoStruct = { rewardTokenSymbol: string; rewardTokenAddress: AddressLike; rewardOracleAddress: AddressLike; emissionPerSecond: BigNumberish; incentivesLastUpdateTimestamp: BigNumberish; tokenIncentivesIndex: BigNumberish; emissionEndTimestamp: BigNumberish; rewardPriceFeed: BigNumberish; rewardTokenDecimals: BigNumberish; precision: BigNumberish; priceFeedDecimals: BigNumberish; }; type RewardInfoStructOutput = [ rewardTokenSymbol: string, rewardTokenAddress: string, rewardOracleAddress: string, emissionPerSecond: bigint, incentivesLastUpdateTimestamp: bigint, tokenIncentivesIndex: bigint, emissionEndTimestamp: bigint, rewardPriceFeed: bigint, rewardTokenDecimals: bigint, precision: bigint, priceFeedDecimals: bigint ] & { rewardTokenSymbol: string; rewardTokenAddress: string; rewardOracleAddress: string; emissionPerSecond: bigint; incentivesLastUpdateTimestamp: bigint; tokenIncentivesIndex: bigint; emissionEndTimestamp: bigint; rewardPriceFeed: bigint; rewardTokenDecimals: bigint; precision: bigint; priceFeedDecimals: bigint; }; type IncentiveDataStruct = { tokenAddress: AddressLike; incentiveControllerAddress: AddressLike; rewardsTokenInformation: IUiIncentiveDataProviderV3.RewardInfoStruct[]; }; type IncentiveDataStructOutput = [ tokenAddress: string, incentiveControllerAddress: string, rewardsTokenInformation: IUiIncentiveDataProviderV3.RewardInfoStructOutput[] ] & { tokenAddress: string; incentiveControllerAddress: string; rewardsTokenInformation: IUiIncentiveDataProviderV3.RewardInfoStructOutput[]; }; type AggregatedReserveIncentiveDataStruct = { underlyingAsset: AddressLike; aIncentiveData: IUiIncentiveDataProviderV3.IncentiveDataStruct; vIncentiveData: IUiIncentiveDataProviderV3.IncentiveDataStruct; sIncentiveData: IUiIncentiveDataProviderV3.IncentiveDataStruct; }; type AggregatedReserveIncentiveDataStructOutput = [ underlyingAsset: string, aIncentiveData: IUiIncentiveDataProviderV3.IncentiveDataStructOutput, vIncentiveData: IUiIncentiveDataProviderV3.IncentiveDataStructOutput, sIncentiveData: IUiIncentiveDataProviderV3.IncentiveDataStructOutput ] & { underlyingAsset: string; aIncentiveData: IUiIncentiveDataProviderV3.IncentiveDataStructOutput; vIncentiveData: IUiIncentiveDataProviderV3.IncentiveDataStructOutput; sIncentiveData: IUiIncentiveDataProviderV3.IncentiveDataStructOutput; }; type UserRewardInfoStruct = { rewardTokenSymbol: string; rewardOracleAddress: AddressLike; rewardTokenAddress: AddressLike; userUnclaimedRewards: BigNumberish; tokenIncentivesUserIndex: BigNumberish; rewardPriceFeed: BigNumberish; priceFeedDecimals: BigNumberish; rewardTokenDecimals: BigNumberish; }; type UserRewardInfoStructOutput = [ rewardTokenSymbol: string, rewardOracleAddress: string, rewardTokenAddress: string, userUnclaimedRewards: bigint, tokenIncentivesUserIndex: bigint, rewardPriceFeed: bigint, priceFeedDecimals: bigint, rewardTokenDecimals: bigint ] & { rewardTokenSymbol: string; rewardOracleAddress: string; rewardTokenAddress: string; userUnclaimedRewards: bigint; tokenIncentivesUserIndex: bigint; rewardPriceFeed: bigint; priceFeedDecimals: bigint; rewardTokenDecimals: bigint; }; type UserIncentiveDataStruct = { tokenAddress: AddressLike; incentiveControllerAddress: AddressLike; userRewardsInformation: IUiIncentiveDataProviderV3.UserRewardInfoStruct[]; }; type UserIncentiveDataStructOutput = [ tokenAddress: string, incentiveControllerAddress: string, userRewardsInformation: IUiIncentiveDataProviderV3.UserRewardInfoStructOutput[] ] & { tokenAddress: string; incentiveControllerAddress: string; userRewardsInformation: IUiIncentiveDataProviderV3.UserRewardInfoStructOutput[]; }; type UserReserveIncentiveDataStruct = { underlyingAsset: AddressLike; aTokenIncentivesUserData: IUiIncentiveDataProviderV3.UserIncentiveDataStruct; vTokenIncentivesUserData: IUiIncentiveDataProviderV3.UserIncentiveDataStruct; sTokenIncentivesUserData: IUiIncentiveDataProviderV3.UserIncentiveDataStruct; }; type UserReserveIncentiveDataStructOutput = [ underlyingAsset: string, aTokenIncentivesUserData: IUiIncentiveDataProviderV3.UserIncentiveDataStructOutput, vTokenIncentivesUserData: IUiIncentiveDataProviderV3.UserIncentiveDataStructOutput, sTokenIncentivesUserData: IUiIncentiveDataProviderV3.UserIncentiveDataStructOutput ] & { underlyingAsset: string; aTokenIncentivesUserData: IUiIncentiveDataProviderV3.UserIncentiveDataStructOutput; vTokenIncentivesUserData: IUiIncentiveDataProviderV3.UserIncentiveDataStructOutput; sTokenIncentivesUserData: IUiIncentiveDataProviderV3.UserIncentiveDataStructOutput; }; } export interface UiIncentiveDataProviderV2V3Interface extends Interface { getFunction(nameOrSignature: "MKRAddress" | "bytes32ToString" | "getFullReservesIncentiveData" | "getReservesIncentivesData" | "getSymbol" | "getUserReservesIncentivesData"): FunctionFragment; encodeFunctionData(functionFragment: "MKRAddress", values?: undefined): string; encodeFunctionData(functionFragment: "bytes32ToString", values: [BytesLike]): string; encodeFunctionData(functionFragment: "getFullReservesIncentiveData", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "getReservesIncentivesData", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getSymbol", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getUserReservesIncentivesData", values: [AddressLike, AddressLike]): string; decodeFunctionResult(functionFragment: "MKRAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "bytes32ToString", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getFullReservesIncentiveData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReservesIncentivesData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getSymbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getUserReservesIncentivesData", data: BytesLike): Result; } export interface UiIncentiveDataProviderV2V3 extends BaseContract { connect(runner?: ContractRunner | null): UiIncentiveDataProviderV2V3; waitForDeployment(): Promise; interface: UiIncentiveDataProviderV2V3Interface; 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; MKRAddress: TypedContractMethod<[], [string], "view">; bytes32ToString: TypedContractMethod<[_bytes32: BytesLike], [string], "view">; getFullReservesIncentiveData: TypedContractMethod<[ provider: AddressLike, user: AddressLike ], [ [ IUiIncentiveDataProviderV3.AggregatedReserveIncentiveDataStructOutput[], IUiIncentiveDataProviderV3.UserReserveIncentiveDataStructOutput[] ] ], "view">; getReservesIncentivesData: TypedContractMethod<[ provider: AddressLike ], [ IUiIncentiveDataProviderV3.AggregatedReserveIncentiveDataStructOutput[] ], "view">; getSymbol: TypedContractMethod<[rewardToken: AddressLike], [string], "view">; getUserReservesIncentivesData: TypedContractMethod<[ provider: AddressLike, user: AddressLike ], [ IUiIncentiveDataProviderV3.UserReserveIncentiveDataStructOutput[] ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "MKRAddress"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "bytes32ToString"): TypedContractMethod<[_bytes32: BytesLike], [string], "view">; getFunction(nameOrSignature: "getFullReservesIncentiveData"): TypedContractMethod<[ provider: AddressLike, user: AddressLike ], [ [ IUiIncentiveDataProviderV3.AggregatedReserveIncentiveDataStructOutput[], IUiIncentiveDataProviderV3.UserReserveIncentiveDataStructOutput[] ] ], "view">; getFunction(nameOrSignature: "getReservesIncentivesData"): TypedContractMethod<[ provider: AddressLike ], [ IUiIncentiveDataProviderV3.AggregatedReserveIncentiveDataStructOutput[] ], "view">; getFunction(nameOrSignature: "getSymbol"): TypedContractMethod<[rewardToken: AddressLike], [string], "view">; getFunction(nameOrSignature: "getUserReservesIncentivesData"): TypedContractMethod<[ provider: AddressLike, user: AddressLike ], [ IUiIncentiveDataProviderV3.UserReserveIncentiveDataStructOutput[] ], "view">; filters: {}; }