import { LeaveRepository } from '../repositories/LeaveRepository';
import { HolidayRepository } from '../repositories/HolidayRepository';
import { TeamResolutionService } from '../domain/team/TeamResolutionService';
export declare class CalendarFacade {
    private leaveRepo;
    private holidayRepo;
    private teamService;
    constructor(leaveRepo?: LeaveRepository, holidayRepo?: HolidayRepository, teamService?: TeamResolutionService);
    private validateRange;
    listLeaves(from: string, to: string, filters: {
        employeeId?: string;
        teamId?: string;
        leaveType?: string;
        viewerEmployeeId?: string;
    }): Promise<{
        from: string;
        to: string;
        items: {
            employeeId: string;
            employeeName: string;
            leaveType: import(".prisma/client").$Enums.leave_requests_leave_type;
            duration: import(".prisma/client").$Enums.leave_requests_duration;
            halfDaySlot: import(".prisma/client").$Enums.leave_requests_half_day_slot | null;
            startDate: string;
            endDate: string;
            leaveDays: number;
        }[];
    }>;
    leavesToday(date?: string): Promise<{
        from: string;
        to: string;
        items: {
            employeeId: string;
            employeeName: string;
            leaveType: import(".prisma/client").$Enums.leave_requests_leave_type;
            duration: import(".prisma/client").$Enums.leave_requests_duration;
            halfDaySlot: import(".prisma/client").$Enums.leave_requests_half_day_slot | null;
            startDate: string;
            endDate: string;
            leaveDays: number;
        }[];
    }>;
    listHolidays(from?: string, to?: string): Promise<{
        name: string;
        date: Date;
        created_at: Date;
        id: number;
        updated_at: Date;
        recurring_yearly: boolean;
    }[]>;
    summary(from: string, to: string): Promise<{
        from: string;
        to: string;
        approvedLeaveCount: number;
        holidayCount: number;
    }>;
}
//# sourceMappingURL=CalendarFacade.d.ts.map