import { IEventFormattingService, DateFormatOptions, EventDisplayOptions, FormattedEvent, DurationFormatOptions, CalendarViewFormatOptions, ExportFormatOptions, LocalizationSettings } from '../interfaces/event-formatting.interfaces';
import { CalendarEvent, EventDateTime } from '../interfaces/event.interfaces';
/**
 * Implementation of event formatting service
 * Provides formatting capabilities for displaying events in various formats
 */
export declare class EventFormattingService implements IEventFormattingService {
    private localization;
    initialize(localization: LocalizationSettings): void;
    formatEvent(event: CalendarEvent | null, displayOptions?: EventDisplayOptions, dateOptions?: DateFormatOptions): FormattedEvent;
    formatEvents(events: CalendarEvent[], displayOptions?: EventDisplayOptions, dateOptions?: DateFormatOptions): FormattedEvent[];
    formatDateTime(dateTime: EventDateTime, options?: DateFormatOptions): {
        startDate: string;
        startTime: string;
        endDate: string;
        endTime: string;
        duration: string;
        isMultiDay: boolean;
        relative?: string;
    };
    formatDuration(startDate: Date, endDate: Date, options?: DurationFormatOptions): string;
    formatForCalendarView(events: CalendarEvent[], viewOptions: CalendarViewFormatOptions): Array<FormattedEvent & {
        position: {
            x: number;
            y: number;
            width: number;
            height: number;
        };
    }>;
    exportEvents(events: CalendarEvent[], options: ExportFormatOptions): Promise<{
        data: string | Blob;
        filename: string;
        mimeType: string;
    }>;
    getAccessibilityLabel(event: CalendarEvent): string;
    getEventSummary(event: CalendarEvent, maxLength?: number): string;
    updateLocalization(settings: Partial<LocalizationSettings>): void;
    getAvailableLocales(): string[];
    getSupportedExportFormats(): string[];
    formatRecurrencePattern(recurrence: any): string;
    getNextOccurrenceText(_event: CalendarEvent): string | null;
    private getStatusText;
    private getStatusColor;
    private getPriorityText;
    private getPriorityLevel;
    private getPriorityColor;
    private generateCssClasses;
    private getRelativeTimeText;
    private exportToCsv;
    private exportToIcs;
    private escapeCsvValue;
    private formatDateForIcs;
}
