import { IConstraintsService } from "../interfaces/constraints.service.interfaces";
/**
 * Implementation of ConstraintsService
 * Responsible for managing date constraints like min/max dates and disabled dates
 */
export declare class ConstraintsService implements IConstraintsService {
    private _minDate;
    private _maxDate;
    private _disabledDates;
    private _disabledDaysOfWeek;
    /**
     * Set minimum date
     */
    setMinDate(date: Date | null): Date | null;
    /**
     * Set maximum date
     */
    setMaxDate(date: Date | null): Date | null;
    /**
     * Set disabled dates
     */
    setDisabledDates(dates: Date[]): Date[];
    /**
   * Set disabled days of the week
   */
    setDisabledDaysOfWeek(days: number[]): number[];
    /**
     * Check if a date is disabled
     */
    isDateDisabled(date: Date, minDate: Date | null, maxDate: Date | null, disabledDates: Date[], disabledDaysOfWeek?: number[]): boolean; /**
     * Get current constraints
     */
    getConstraints(): {
        minDate: Date | null;
        maxDate: Date | null;
        disabledDates: Date[];
        disabledDaysOfWeek: number[];
    };
    /**
     * Add a date to the disabled dates list
     */
    addDisabledDate(date: Date): Date[];
    /**
     * Remove a date from the disabled dates list
     */
    removeDisabledDate(date: Date): Date[];
    /**
     * Add a day of the week to the disabled days list
     */
    addDisabledDayOfWeek(day: number): number[];
    /**
     * Remove a day of the week from the disabled days list
     */
    removeDisabledDayOfWeek(day: number): number[];
    /**
     * Get disabled days of the week
     */
    getDisabledDaysOfWeek(): number[];
}
