import { CalendarStateManager } from "./state-manager";
import { IDateFormattingService, ILocalizationService } from "../interfaces";
/**
 * FormattingCoordinator - Handles all date formatting and localization
 */
export declare class FormattingCoordinator {
    private stateManager;
    private dateFormattingService;
    private localizationService;
    constructor(stateManager: CalendarStateManager, dateFormattingService: IDateFormattingService, localizationService: ILocalizationService);
    /**
     * Format a date
     */
    formatDate(date: Date, options?: Intl.DateTimeFormatOptions | string, _locale?: string | undefined): string;
    /**
     * Get formatted selected date
     */
    getFormattedDate(): string | null;
    /**
     * Set locale
     */
    setLocale(locale: string, localizationService: ILocalizationService): void;
    /**
     * Get locale
     */
    getLocale(): string;
    /**
     * Set date format options
     */
    setDateFormatOptions(options: Intl.DateTimeFormatOptions | null): void;
    /**
     * Get date format options
     */
    getDateFormatOptions(): Intl.DateTimeFormatOptions | null;
    /**
     * Format date with options
     */
    formatDateWithOptions(date: Date, options?: Intl.DateTimeFormatOptions, _locale?: string): string;
    /**
     * Get month name
     */
    getMonthName(month: number, format?: 'long' | 'short', _locale?: string): string;
    /**
     * Get day name
     */
    getDayName(dayOfWeek: number, format?: 'long' | 'short' | 'narrow', _locale?: string): string;
    /**
     * Get day names
     */
    getDayNames(format?: 'long' | 'short' | 'narrow', _locale?: string): string[];
    /**
     * Get month names
     */
    getMonthNames(format?: 'long' | 'short', _locale?: string): string[];
    /**
     * Get weekday names
     */
    getWeekdayNames(firstDayOfWeek?: number): string[];
    /**
     * Get locale-specific default format options
     */
    private getLocaleDefaultFormatOptions;
}
