import { ModelService } from "../model/model.service";
import { Types } from 'mongoose';
export declare class AvailabilityService {
    private readonly modelservice;
    private readonly logger;
    constructor(modelservice: ModelService);
    getNext7DaysAvailabilityPermissive(serviceId: string, requested: Date, stylistId?: string): Promise<{
        stylistId: Types.ObjectId;
        name: string;
        days: {
            date: string;
            slots: {
                start: string;
                end: string;
            }[];
        }[];
    }[]>;
    getNext7DaysAvailability(serviceId: string, requested: Date, stylistId?: string): Promise<{
        stylistId: Types.ObjectId;
        name: string;
        days: {
            date: string;
            slots: {
                start: string;
                end: string;
            }[];
        }[];
    }[]>;
    private buildStylistAvailability;
    private isSalonHoliday;
    private getSalonHours;
    private getStylistHours;
    private isStylistOnVacation;
    private getWorkingWindow;
    private isSameSalonDay;
    private generateFreeRanges;
    private subtractAppointments;
}
