import { DingtalkYidaService } from './sdk/dingtalk-yida.service';
import { DingtalkAttendanceService } from './sdk/dingtalk-attendance.service';
import { SyncExecutionResult } from './sync/business-trip-sync.service';
export interface ApprovalCancellationRecord {
    userId: string;
    approveId: string;
    creator: string;
    date: string | null;
    instanceIds: string[];
    serialNumbers: string[];
    taskCode: 'DINGTALK_BUSINESS_TRIP' | 'DINGTALK_FIELD_APPLICATION' | 'DINGTALK_OVERTIME';
}
export declare class DingtalkRepairService {
    private readonly yidaService;
    private readonly attendanceService;
    private static readonly MAX_LOOKBACK_DAYS;
    constructor(yidaService: DingtalkYidaService, attendanceService: DingtalkAttendanceService);
    cancelApprovals(params: {
        taskCode: 'DINGTALK_BUSINESS_TRIP' | 'DINGTALK_FIELD_APPLICATION' | 'DINGTALK_OVERTIME';
        userId: string;
        approveId: string;
        fromTime?: string;
        toTime?: string;
        dryRun?: boolean;
    }): Promise<SyncExecutionResult>;
    private scanApprovalRecords;
    private getTaskConfig;
    private matchesApproveId;
    private getAttendanceApproveId;
    private resolveScanRange;
    private parseDateOnly;
    private listCoveredDates;
    private formatDateCST;
}
