/** * Quest System * * Manages quests and objectives with support for: * - Quest tracking * - Objective completion * - Quest rewards * - Quest states (available, active, completed, failed) */ import type { Quest, EventHandler } from './types'; /** * Quest system for managing quests and objectives */ export declare class QuestSystem { private quests; private eventHandlers; /** * Add a quest */ addQuest(quest: Omit & { id?: string; status?: Quest['status']; }): string; /** * Get a quest by ID */ getQuest(questId: string): Quest | undefined; /** * Get all quests */ getAllQuests(): Quest[]; /** * Get quests by status */ getQuestsByStatus(status: Quest['status']): Quest[]; /** * Start a quest (mark as active) */ startQuest(questId: string): boolean; /** * Complete an objective */ completeObjective(questId: string, objectiveId: string): boolean; /** * Update objective progress */ updateObjectiveProgress(questId: string, objectiveId: string, progress: number): boolean; /** * Complete a quest */ completeQuest(questId: string): boolean; /** * Fail a quest */ failQuest(questId: string): boolean; /** * Reset a quest */ resetQuest(questId: string): boolean; /** * Remove a quest */ removeQuest(questId: string): boolean; /** * Get quest progress (0-1) */ getQuestProgress(questId: string): number; /** * Check if quest is completed */ isQuestCompleted(questId: string): boolean; /** * Clear all quests */ clear(): void; /** * Export quests state */ export(): Quest[]; /** * Import quests state */ import(quests: Quest[]): void; /** * Register event handler */ on(eventType: string, handler: EventHandler): void; /** * Unregister event handler */ off(eventType: string, handler: EventHandler): void; /** * Emit event */ private emit; } //# sourceMappingURL=QuestSystem.d.ts.map