/** * JournalTracker.ts * * Quest journal UI data: quest log, categories, filters, * notifications, and pinned quests. * * @module gameplay */ export interface JournalEntry { questId: string; questName: string; category: string; description: string; status: string; progress: number; pinned: boolean; addedAt: number; updatedAt: number; objectiveSummaries: string[]; } export interface JournalNotification { id: string; type: 'quest_added' | 'quest_updated' | 'quest_completed' | 'quest_failed'; questId: string; message: string; timestamp: number; read: boolean; } export declare class JournalTracker { private entries; private notifications; private pinnedQuests; private maxNotifications; addEntry(questId: string, questName: string, category: string, description: string): JournalEntry; updateEntry(questId: string, updates: Partial>): boolean; removeEntry(questId: string): boolean; pin(questId: string): boolean; unpin(questId: string): boolean; getPinned(): JournalEntry[]; private notify; getNotifications(unreadOnly?: boolean): JournalNotification[]; markRead(id: string): void; markAllRead(): void; getUnreadCount(): number; getByCategory(category: string): JournalEntry[]; getByStatus(status: string): JournalEntry[]; search(query: string): JournalEntry[]; getEntry(questId: string): JournalEntry | undefined; getEntryCount(): number; getCategories(): string[]; getAllEntries(): JournalEntry[]; } //# sourceMappingURL=JournalTracker.d.ts.map