gamify-ui-core
Version:
🚀 The ultimate gamification engine for modern web applications. Framework-agnostic, real-time leaderboards, custom rule engine, streaks, missions, and AI-powered features.
68 lines • 1.65 kB
TypeScript
import { User, Badge, LeaderboardEntry } from '../types';
/**
* Manages all user-related operations in the gamification system
*/
export declare class UserManager {
private readonly users;
/**
* Create a new user
*/
createUser(id: string, name?: string, email?: string): User;
/**
* Get a user by ID
*/
getUser(id: string): User | undefined;
/**
* Update user information
*/
updateUser(id: string, updates: Partial<User>): User | null;
/**
* Get all users
*/
getAllUsers(): User[];
/**
* Add XP to a user
*/
addXp(userId: string, xp: number): User | null;
/**
* Add a badge to a user
*/
addBadge(userId: string, badge: Badge): User | null;
/**
* Update user streak
*/
updateStreak(userId: string, streakType: 'daily' | 'weekly' | 'monthly'): User | null;
/**
* Get level progress for a user
*/
getLevelProgress(user: User): {
current: number;
next: number;
progress: number;
};
/**
* Get leaderboard data
*/
getLeaderboard(limit?: number): LeaderboardEntry[];
/**
* Check if user should level up
*/
private checkLevelUp;
/**
* Calculate XP required for a specific level
*/
private calculateXpForLevel;
/**
* Calculate level from XP (same logic as utils/user.ts)
*/
private calculateLevelFromXp;
/**
* Create a new streak
*/
private createNewStreak;
/**
* Update streak count based on time
*/
private updateStreakCount;
}
//# sourceMappingURL=UserManager.d.ts.map