import { Repository } from 'typeorm';
import { User, WorkSchedule } from '../users/entities/user.entity';
import { LeaveType } from './entities/leave-type.entity';
import { LeaveBalance } from './entities/leave-balance.entity';
import { AuditLog } from '../audit/entities/audit-log.entity';
export declare class LeavesAcquisitionService {
    private readonly userRepo;
    private readonly leaveTypeRepo;
    private readonly leaveBalanceRepo;
    private readonly auditLogRepo;
    private readonly logger;
    constructor(userRepo: Repository<User>, leaveTypeRepo: Repository<LeaveType>, leaveBalanceRepo: Repository<LeaveBalance>, auditLogRepo: Repository<AuditLog>);
    runAnnualAcquisition(year?: number): Promise<{
        updated: number;
        created: number;
    }>;
    runMonthlyAcquisition(): Promise<void>;
    previewAcquisition(hiredAt: Date, schedule: WorkSchedule, year?: number): {
        year: number;
        schedule: WorkSchedule;
        acquired_cp: number;
        acquired_rtt: number;
        seniority_years: number;
        bonus_days: number;
    };
}
