import { GlobalBrain } from './global-brain.js'; import { BrainReplay } from './brain-replay.js'; import { BrainDna } from './brain-dna.js'; export type Rarity = 'common' | 'rare' | 'epic' | 'legendary'; export interface Achievement { id: string; name: string; description: string; icon: string; rarity: Rarity; criteria: string; unlockedAt?: number; } export interface ProgressEntry { achievement: Achievement; progressPct: number; } export interface ProgressReport { unlocked: Achievement[]; inProgress: ProgressEntry[]; } export declare class BrainTrophies { private brain; private replay; private dna; constructor(brain?: GlobalBrain, replay?: BrainReplay, dna?: BrainDna); /** All achievements that are currently unlocked for a project. */ getAchievements(project: string): Promise; /** Re-evaluate progress; auto-persists newly-met thresholds. */ checkProgress(project: string): Promise; /** Manually unlock an achievement (mostly internal). */ unlock(project: string, achievementId: string): void; /** Generate a shareable SVG card for one achievement. */ generateCard(project: string, achievementId: string, opts?: { style?: 'card' | 'badge' | 'trophy'; }): { svg: string; }; /** A 1200x800 wall of all trophies (locked + unlocked). */ wallSvg(project: string): { svg: string; }; private collectSignals; private safeStats; private meets; private progressPct; private computeStreaks; private peakSearchesInDay; private minLatency; private loadStore; private saveStore; private fileFor; private renderCard; private renderBadge; private renderTrophy; private renderWall; } export declare function getBrainTrophies(): BrainTrophies; export declare function resetBrainTrophiesForTests(): void; //# sourceMappingURL=brain-trophies.d.ts.map