import type { RewardCampaign } from "./rewardsServiceTypes.js"; import { type IsActiveForViewerFn, type ViewerOptions } from "./rewardCampaignEligibility.js"; export interface VaultRewardInfoArgs { campaigns: RewardCampaign[]; isActiveForViewer?: IsActiveForViewerFn; } /** * Reward data attached to a vault. * * `campaigns` is the raw, unfiltered set. Viewer-aware reads * (`getActiveCampaigns`, `getTotalRewardsApr`) apply the configured * eligibility predicate. With no viewer the predicate is a no-op, so * unconnected discovery surfaces still see the full headline APR. */ export declare class VaultRewardInfo { campaigns: RewardCampaign[]; private isActiveForViewer; constructor(args: VaultRewardInfoArgs); setIsActiveForViewer(fn: IsActiveForViewerFn): void; /** Headline sum of campaign APRs (no viewer). Same as `getTotalRewardsApr()`. */ get totalRewardsApr(): number; getActiveCampaigns(opts?: ViewerOptions): RewardCampaign[]; getTotalRewardsApr(opts?: ViewerOptions): number; } //# sourceMappingURL=vaultRewardInfo.d.ts.map