import { type Address } from "viem"; import { type BuildQueryFn } from "../../../../utils/buildQuery.js"; import type { BrevisCampaignsResponse, BrevisUserRewardsBatchResponse, FuulClaimableReward, FuulClaimCheck, FuulIncentive, FuulTotals, IRewardsAdapter, MerklOpportunity, MerklUserChainRewards, RewardsDirectAdapterConfig, TurtleMerkleProof, UserReward } from "../../rewardsServiceTypes.js"; import { VaultRewardInfo } from "../../vaultRewardInfo.js"; type TurtleTokenLike = { address?: string; symbol?: string; name?: string; decimals?: number | string; logoUrl?: string; }; type TurtleStream = { id?: string; chainId?: number | string | null; startTimestamp?: string | number | null; endTimestamp?: string | number | null; customArgs?: { apr?: string | number; targetToken?: TurtleTokenLike & { chain?: { chainId?: string | number; }; }; }; lastSnapshot?: { apr?: string | number; baseApr?: string | number; }; rewardToken?: TurtleTokenLike | null; point?: TurtleTokenLike | null; }; export declare class RewardsDirectAdapter implements IRewardsAdapter { private merklApiUrl; private brevisApiUrl; private brevisProofsApiUrl; private fuulApiUrl; private turtleApiUrl; private turtleApiKey?; private fuulTotalsUrl?; private fuulClaimChecksUrl?; private brevisChainIds?; private turtleStreams; private merklDistributorAddress; private fuulManagerAddress; private fuulFactoryAddress; private enableMerkl; private enableBrevis; private enableFuul; private enableTurtle; constructor(config?: RewardsDirectAdapterConfig, buildQuery?: BuildQueryFn); queryMerklOpportunities: (url: string) => Promise; setQueryMerklOpportunities(fn: typeof this.queryMerklOpportunities): void; queryBrevisCampaigns: (url: string, body: object) => Promise; getQueryKeyBrevisCampaigns(url: string, body: object): string | null; setQueryBrevisCampaigns(fn: typeof this.queryBrevisCampaigns): void; queryMerklUserRewards: (url: string) => Promise; setQueryMerklUserRewards(fn: typeof this.queryMerklUserRewards): void; queryBrevisUserProofs: (url: string, body: object) => Promise; getQueryKeyBrevisUserProofs(url: string, body: object): string | null; setQueryBrevisUserProofs(fn: typeof this.queryBrevisUserProofs): void; queryFuulIncentives: (url: string) => Promise; setQueryFuulIncentives(fn: typeof this.queryFuulIncentives): void; queryFuulTotals: (url: string) => Promise; setQueryFuulTotals(fn: typeof this.queryFuulTotals): void; queryFuulClaimChecks: (url: string, body: object) => Promise; getQueryKeyFuulClaimChecks(url: string, body: object): string | null; setQueryFuulClaimChecks(fn: typeof this.queryFuulClaimChecks): void; queryFuulClaimableRewards: (url: string) => Promise; setQueryFuulClaimableRewards(fn: typeof this.queryFuulClaimableRewards): void; queryTurtleMerkleProofs: (url: string) => Promise; setQueryTurtleMerkleProofs(fn: typeof this.queryTurtleMerkleProofs): void; queryTurtleStreams: (url: string) => Promise; setQueryTurtleStreams(fn: typeof this.queryTurtleStreams): void; /** * Request options for the built-in Turtle fetchers. The key is read here * rather than passed as a query argument so it never becomes part of a * query cache key. Credentialed requests refuse redirects: `fetch` would * otherwise replay the `X-API-Key` header against whatever origin the * `Location` header names, and the callers already treat a rejected * fetch as "no Turtle data". */ private turtleRequestInit; fetchVaultRewards(chainId: number, vaultAddress: Address): Promise; fetchChainRewards(chainId: number): Promise>; fetchUserRewards(chainId: number, address: Address): Promise; fetchFuulTotals(address: Address, chainId?: number): Promise; fetchFuulClaimChecks(address: Address, chainId?: number): Promise; fetchTurtleProofs(address: Address, streamIds: string[]): Promise; getMerklDistributorAddress(): Address; getFuulManagerAddress(): Address; getFuulFactoryAddress(): Address; fetchBrevisChainRewards(chainId: number): Promise>; fetchBrevisUserRewardClaims(chainId: number, address: Address): Promise; private isBrevisChainEnabled; private fetchMerklCampaigns; private fetchBrevisCampaigns; private fetchFuulCampaigns; private fetchTurtleCampaigns; private mergeCampaigns; private fetchMerklUserRewards; private fetchBrevisUserRewards; private fetchFuulUserRewards; private fetchFuulClaimableRewards; private fetchTurtleUserRewards; } export {}; //# sourceMappingURL=rewardsDirectAdapter.d.ts.map