/**
 * Navigation service interface
 * Responsible for handling calendar navigation operations
 */
export interface INavigationService {
    /**
     * Navigate to next month
     */
    navigateToNextMonth(currentDate: Date): Date;
    /**
     * Navigate to previous month
     */
    navigateToPreviousMonth(currentDate: Date): Date;
    /**
     * Navigate to next year
     */
    navigateToNextYear(currentDate: Date): Date;
    /**
     * Navigate to previous year
     */
    navigateToPreviousYear(currentDate: Date): Date;
    /**
     * Navigate to specific month
     */
    navigateToMonth(currentDate: Date, month: number): Date;
    /**
     * Navigate to specific year
     */
    navigateToYear(currentDate: Date, year: number): Date;
    /**
     * Navigate to specific year range
     * @param currentYear The current year
     * @param rangeSize The number of years in the range
     * @param direction Direction to navigate (1 for next range, -1 for previous range)
     * @returns The new base year for the range
     */
    navigateToYearRange(currentYear: number, rangeSize: number, direction: number): number; /**
     * Navigate to specific date
     * @param currentDate The current date or target date if only one parameter is provided
     * @param targetDate The target date to navigate to (optional)
     */
    navigateToDate(currentDate: Date | null, targetDate?: Date): Date;
    /**
     * Navigate to today
     * @param currentDate The current date (optional)
     */
    navigateToToday(currentDate?: Date): Date;
}
