import { Calendar, CalendarEvent, CreateCalendarData, CreateEventData, UpdateCalendarData, UpdateEventData } from '../types';
import { CategoryManager } from './CategoryManager';
import { ReminderService } from './ReminderService';
export declare class CalendarManager {
    private calendarsKey;
    private eventsKey;
    private categoryManager;
    private reminderService;
    constructor();
    getCalendars(): Calendar[];
    getCalendar(id: string): Calendar | null;
    createCalendar(data: CreateCalendarData): Calendar;
    updateCalendar(id: string, data: UpdateCalendarData): Calendar;
    deleteCalendar(id: string): void;
    getEvents(calendarId: string): CalendarEvent[];
    getEvent(id: string): CalendarEvent | null;
    createEvent(data: CreateEventData, calendarId?: string): CalendarEvent;
    updateEvent(id: string, data: UpdateEventData): CalendarEvent;
    deleteEvent(id: string): void;
    getEventsByDate(date: string): CalendarEvent[];
    getEventsByDateRange(startDate: string, endDate: string): CalendarEvent[];
    getEventsByCategory(categoryId: string): CalendarEvent[];
    getEventsByTag(tagName: string): CalendarEvent[];
    getEventsByPriority(priority: 'low' | 'medium' | 'high'): CalendarEvent[];
    searchEvents(query: string): CalendarEvent[];
    getCategoryManager(): CategoryManager;
    getReminderService(): ReminderService;
    generateCalendarHTMLWithReminders(calendarId: string): string;
    generateCalendarHTML(calendar: Calendar): string;
    private generateEventHTML;
    private getAllEvents;
    exportCalendar(id: string): string;
    importCalendar(data: string): Calendar;
    copyCalendar(id: string): Calendar;
    copyEvent(id: string): CalendarEvent;
}
