/** * AchievementSystem.ts * * Achievement tracking: conditions, unlock, progress, * tiers, notifications, and persistence. * * @module gameplay */ export type AchievementRarity = 'bronze' | 'silver' | 'gold' | 'platinum' | 'diamond'; export interface AchievementDef { id: string; name: string; description: string; icon: string; rarity: AchievementRarity; maxProgress: number; currentProgress: number; unlocked: boolean; unlockedAt: number | null; hidden: boolean; category: string; } export declare class AchievementSystem { private achievements; private listeners; private totalPoints; private static readonly RARITY_POINTS; register(config: Omit): AchievementDef; addProgress(id: string, amount?: number): boolean; unlock(id: string): boolean; onUnlock(listener: (achievement: AchievementDef) => void): void; get(id: string): AchievementDef | undefined; getAll(): AchievementDef[]; getUnlocked(): AchievementDef[]; getLocked(): AchievementDef[]; getByCategory(cat: string): AchievementDef[]; getByRarity(rarity: AchievementRarity): AchievementDef[]; getCount(): number; getUnlockedCount(): number; getTotalPoints(): number; getCompletionPercent(): number; getProgress(id: string): number; } //# sourceMappingURL=AchievementSystem.d.ts.map