import { CalendarStateManager } from "./state-manager";
import { BindingsCoordinator } from "./bindings-coordinator";
import { CalendarControllerBindings } from "../types";
import { IConstraintsService, ICalendarStateService } from "../interfaces";
import { ICalendarService } from "../interfaces";
/**
 * ConstraintsCoordinator - Handles date constraint operations
 * Manages min/max dates, disabled dates, and disabled days of week
 */
export declare class ConstraintsCoordinator {
    private stateManager;
    private bindingsCoordinator;
    private constraintsService;
    private calendarStateService;
    constructor(stateManager: CalendarStateManager, bindingsCoordinator: BindingsCoordinator, constraintsService: IConstraintsService, calendarStateService: ICalendarStateService);
    /**
     * Set minimum selectable date
     */
    setMinDate(date: Date | null, bindings: CalendarControllerBindings, getters: any, calendarService: ICalendarService): void;
    /**
     * Set maximum selectable date
     */
    setMaxDate(date: Date | null, bindings: CalendarControllerBindings, getters: any, calendarService: ICalendarService): void;
    /**
     * Set disabled dates
     */
    setDisabledDates(dates: Date[], bindings: CalendarControllerBindings, getters: any, calendarService: ICalendarService): void;
    /**
     * Add a disabled date
     */
    addDisabledDate(date: Date, bindings: CalendarControllerBindings, getters: any): Date[];
    /**
     * Remove a disabled date
     */
    removeDisabledDate(date: Date, bindings: CalendarControllerBindings, getters: any): Date[];
    /**
     * Get disabled dates
     */
    getDisabledDates(): Date[];
    /**
     * Set disabled days of the week
     */
    setDisabledDaysOfWeek(days: number[], bindings: CalendarControllerBindings, getters: any): number[];
    /**
     * Add a disabled day of the week
     */
    addDisabledDayOfWeek(day: number, bindings: CalendarControllerBindings, getters: any): number[];
    /**
     * Remove a disabled day of the week
     */
    removeDisabledDayOfWeek(day: number, bindings: CalendarControllerBindings, getters: any): number[];
    /**
     * Get disabled days of the week
     */
    getDisabledDaysOfWeek(): number[];
}
