/** * Achievement System * * Manages achievements and unlocks with support for: * - Achievement tracking * - Progress tracking * - Hidden achievements * - Achievement categories * - Points system * - Event notifications */ import type { Achievement, EventHandler } from './types'; /** * Achievement system for managing player achievements */ export declare class AchievementSystem { private achievements; private eventHandlers; /** * Add an achievement */ addAchievement(achievement: Omit & { id?: string; }): string; /** * Get an achievement by ID */ getAchievement(achievementId: string): Achievement | undefined; /** * Get all achievements (respects hidden flag) */ getAllAchievements(): Achievement[]; /** * Get achievements by category */ getAchievementsByCategory(category: string): Achievement[]; /** * Get achievements by rarity */ getAchievementsByRarity(rarity: Achievement['rarity']): Achievement[]; /** * Get unlocked achievements */ getUnlockedAchievements(): Achievement[]; /** * Get locked achievements (not hidden ones) */ getLockedAchievements(): Achievement[]; /** * Unlock an achievement */ unlock(achievementId: string): boolean; /** * Update achievement progress */ updateProgress(achievementId: string, progress: number): boolean; /** * Increment achievement progress */ incrementProgress(achievementId: string, delta?: number): boolean; /** * Check if achievement is unlocked */ isUnlocked(achievementId: string): boolean; /** * Get achievement progress (0-1) */ getProgress(achievementId: string): number; /** * Get total points earned */ getTotalPoints(): number; /** * Get maximum possible points */ getMaxPoints(): number; /** * Get unlock percentage */ getUnlockPercentage(): number; /** * Remove an achievement */ removeAchievement(achievementId: string): boolean; /** * Reset an achievement */ resetAchievement(achievementId: string): boolean; /** * Clear all achievements */ clear(): void; /** * Export achievements state */ export(): Achievement[]; /** * Import achievements state */ import(achievements: Achievement[]): void; /** * Register event handler */ on(eventType: string, handler: EventHandler): void; /** * Unregister event handler */ off(eventType: string, handler: EventHandler): void; /** * Emit event */ private emit; } //# sourceMappingURL=AchievementSystem.d.ts.map