import { PrismaService } from "../../../core/database/prisma/prisma.service";
import { DingtalkAuthService } from './sdk/dingtalk-auth.service';
import { BusinessTripSyncService } from './sync/business-trip-sync.service';
import { FieldApplicationSyncService } from './sync/field-application-sync.service';
import { OvertimeSyncService } from './sync/overtime-sync.service';
import { EmployeeInfoSyncService } from './sync/employee-info-sync.service';
import { AnnualLeaveSyncService } from './sync/annual-leave-sync.service';
import { LeaveExtensionSyncService } from './sync/leave-extension-sync.service';
import { LeaveReminderService } from './sync/leave-reminder.service';
import { PurchaseSapSyncService } from './sync/purchase-sap-sync.service';
import { EmployeeManagementService } from './employee-management.service';
import { AnnualLeaveInsightService } from './annual-leave-insight.service';
import { SyncExecutionResult } from './sync/business-trip-sync.service';
import { SyncLogger } from './sync/sync-logger';
export declare class DingtalkSchedulerService {
    private prisma;
    private authService;
    private businessTripSync;
    private fieldApplicationSync;
    private overtimeSync;
    private employeeInfoSync;
    private annualLeaveSync;
    private leaveExtensionSync;
    private leaveReminderSync;
    private employeeManagementService;
    private annualLeaveInsightService;
    private purchaseSapSync;
    private readonly logger;
    private static readonly MANUAL_MAX_LOOKBACK_DAYS;
    private static readonly SCHEDULED_TASKS_WITH_TIME_RANGE;
    private readonly runningTasks;
    constructor(prisma: PrismaService, authService: DingtalkAuthService, businessTripSync: BusinessTripSyncService, fieldApplicationSync: FieldApplicationSyncService, overtimeSync: OvertimeSyncService, employeeInfoSync: EmployeeInfoSyncService, annualLeaveSync: AnnualLeaveSyncService, leaveExtensionSync: LeaveExtensionSyncService, leaveReminderSync: LeaveReminderService, employeeManagementService: EmployeeManagementService, annualLeaveInsightService: AnnualLeaveInsightService, purchaseSapSync: PurchaseSapSyncService);
    handleEmployeeInfoSync(): Promise<void>;
    handleEmployeeInfoOldSync(): Promise<void>;
    handleEmployeeSync(): Promise<void>;
    handleQuotaSnapshotSync(): Promise<void>;
    handleAnnualLeaveRelease(): Promise<void>;
    handleBusinessTripSync(): Promise<void>;
    handleFieldApplicationSync(): Promise<void>;
    handleOvertimeSync(): Promise<void>;
    handleLeaveExtension(): Promise<void>;
    handlePurchaseSapSyncProd(): Promise<void>;
    handleLeaveReminder(): Promise<void>;
    triggerTask(taskCode: string, fromTime?: string, toTime?: string, triggeredBy?: string, userId?: string, logger?: SyncLogger): Promise<SyncExecutionResult>;
    refreshAnnualLeavePlan(userId?: string, year?: number): Promise<SyncExecutionResult>;
    triggerAnnualLeaveRelease(userId?: string, year?: number): Promise<SyncExecutionResult>;
    private normalizeManualTimeRange;
    private getScheduledHalfHourWindow;
    private parseDateOnly;
    private formatDateOnly;
    private formatDateCST;
    private toCstPseudoDate;
    private formatDateTimeOnly;
    private executeTask;
}
