import { ITimeConstraintsService, TimeOptions } from "../interfaces";
/**
 * TimeConstraintsService - Implementation of ITimeConstraintsService
 * Manages time constraints and validation
 */
export declare class TimeConstraintsService implements ITimeConstraintsService {
    /**
     * Check if a time is disabled based on all constraints
     */
    isTimeDisabled(time: Date, minTime: Date | null, maxTime: Date | null, disabledTimes: Date[], disabledHours: number[], disabledMinutes: number[], disabledSeconds: number[]): boolean;
    setDisabledHours(hours: number[]): number[];
    setDisabledMinutes(minutes: number[]): number[];
    setDisabledSeconds(seconds: number[]): number[];
    addDisabledTime(time: Date, currentDisabledTimes: Date[]): Date[];
    removeDisabledTime(time: Date, currentDisabledTimes: Date[]): Date[];
    addDisabledHour(hour: number, currentDisabledHours: number[]): number[];
    removeDisabledHour(hour: number, currentDisabledHours: number[]): number[];
    validateTimeOptions(options: TimeOptions): TimeOptions;
    isValidStep(step: number, type: 'minute' | 'second'): boolean;
    private getTimeOnlyMs;
}
