import { Event } from '../../types';
import { CalendarService } from './calendar.service';
import { RecurrenceRule, ProcessedOutlookEvent, ExpansionWindow, ExpandRecurringSeriesOptions, RecurringEventExpansionResult } from '../../interfaces/recurrence.interfaces';
export declare class RecurrenceService {
    private readonly calendarService;
    private readonly logger;
    constructor(calendarService: CalendarService);
    processEvent(event: Event): ProcessedOutlookEvent;
    expandRecurringSeries(seriesMasterId: string, externalUserId: string, options?: ExpandRecurringSeriesOptions): Promise<RecurringEventExpansionResult>;
    calculateExpansionWindow(recurrenceRule?: RecurrenceRule, existingWindowEnd?: Date): ExpansionWindow;
    detectStaleOccurrences(fetchedExternalIds: string[], existingExternalIds: string[]): string[];
    isSeriesMaster(event: Event): boolean;
    private extractRecurrenceRule;
}
