import { AttendanceService } from '../attendance/attendance.service.js';
import { CatalogsService } from '../catalogs/catalogs.service.js';
import { DataStoreService } from '../shared/data-store.service.js';
export interface PayrollReportQuery {
    from?: string;
    to?: string;
    zoneId?: string;
    stationId?: string;
    employeeNumber?: string;
}
export interface PayrollDaySummary {
    date: string;
    workedHours: number;
    workedMinutes: number;
    entryAt?: string;
    exitAt?: string;
    status: 'complete' | 'incomplete' | 'rest';
}
export interface PayrollReportRow {
    employeeNumber: string;
    fullName: string;
    zoneId: number;
    zoneName: string;
    stationId?: number;
    stationName?: string;
    days: PayrollDaySummary[];
    totalHours: number;
    totalMinutes: number;
}
export interface PayrollReport {
    from: string;
    to: string;
    rows: PayrollReportRow[];
}
export declare class PayrollService {
    private readonly store;
    private readonly catalogsService;
    private readonly attendanceService;
    constructor(store: DataStoreService, catalogsService: CatalogsService, attendanceService: AttendanceService);
    buildReport(query: PayrollReportQuery): PayrollReport;
    toCsv(report: PayrollReport): string;
    private buildRow;
}
