import { Repository } from 'typeorm';
import { Attendance } from '../../attendances/entities/attendance.entity';
import { AttendanceType } from '../../attendances/entities/attendance-type.entity';
import { JobTitle } from '../../job-titles/entities/job-title.entity';
import { Worker } from '../../workers/entities/worker.entity';
import { WorkerPeriodSnapshot } from '../entities/worker-period-snapshot.entity';
export declare function snapshotKey(workerId: number, jobTitleId: number): string;
export declare class WorkerPeriodSnapshotsService {
    private readonly snapshotsRepository;
    private readonly attendancesRepository;
    private readonly attendanceTypesRepository;
    private readonly workersRepository;
    private readonly jobTitlesRepository;
    constructor(snapshotsRepository: Repository<WorkerPeriodSnapshot>, attendancesRepository: Repository<Attendance>, attendanceTypesRepository: Repository<AttendanceType>, workersRepository: Repository<Worker>, jobTitlesRepository: Repository<JobTitle>);
    freezeForPeriod(periodId: number, frozenBy: number | null): Promise<void>;
    unfreezeForPeriod(periodId: number): Promise<void>;
    getSnapshots(periodId: number): Promise<Map<string, WorkerPeriodSnapshot>>;
    getSnapshotsForPeriods(periodIds: number[]): Promise<WorkerPeriodSnapshot[]>;
}
