/** * RewardSystem.ts * * Reward distribution: XP, items, currency, unlock conditions, * reward multipliers, and loot integration. * * @module gameplay */ export type RewardType = 'xp' | 'item' | 'currency' | 'unlock' | 'reputation' | 'skill_point'; export interface RewardDef { id: string; type: RewardType; target: string; amount: number; condition?: string; } export interface RewardBundle { id: string; name: string; rewards: RewardDef[]; claimed: boolean; claimedAt: number | null; } export interface PlayerStats { xp: number; level: number; currency: Map; unlocks: Set; skillPoints: number; } export declare class RewardSystem { private bundles; private stats; private xpPerLevel; private xpMultiplier; private rewardHistory; createBundle(name: string, rewards: Omit[]): RewardBundle; getBundle(id: string): RewardBundle | undefined; claim(bundleId: string): RewardDef[] | null; private applyReward; addXP(amount: number): { leveled: boolean; newLevel: number; }; getXPForLevel(level: number): number; setXPMultiplier(mult: number): void; getCurrency(name: string): number; spendCurrency(name: string, amount: number): boolean; getStats(): PlayerStats; getLevel(): number; getXP(): number; hasUnlock(key: string): boolean; getSkillPoints(): number; getBundleCount(): number; getClaimedCount(): number; } //# sourceMappingURL=RewardSystem.d.ts.map