export declare class SafeTimeConverter {
    private static readonly TIME_FIELD_PATTERNS;
    private static readonly ISO_DATE_REGEX;
    /**
     * 时区偏移量（小时）- 默认减去8小时（UTC+8转换为UTC）
     */
    private static readonly TIMEZONE_OFFSET_HOURS;
    /**
     * 转换数据中的时间字段，统一减去8小时
     * @param data 原始数据数组
     * @returns 转换后的数据数组
     */
    static convertTimeFields(data: any[]): any[];
    /**
     * 解析时间字符串并减去8小时
     * @param dateString ISO 格式的时间字符串
     * @returns 调整后的 Date 对象
     */
    private static parseAndAdjustTime;
    /**
     * 判断字段名是否为时间字段
     * @param fieldName 字段名
     * @returns 是否为时间字段
     */
    private static isTimeField;
    /**
     * 判断值是否为时间字符串
     * @param value 待判断的值
     * @returns 是否为时间字符串
     */
    private static isTimeString;
    /**
     * 手动调整指定 Date 对象的时间（减去8小时）
     * @param date 原始 Date 对象
     * @returns 调整后的 Date 对象
     */
    static adjustTimeZone(date: Date): Date;
    /**
     * 将调整后的时间转换为显示格式
     * @param date 调整后的 Date 对象
     * @param format 格式化选项
     * @returns 格式化后的时间字符串
     */
    static formatAdjustedTime(date: Date, format?: 'date' | 'datetime' | 'time'): string;
    /**
     * 批量调整时间数组
     * @param dates Date 对象数组
     * @returns 调整后的 Date 对象数组
     */
    static adjustTimeArray(dates: Date[]): Date[];
}
/**
 * 处理图表数据，转换时间字段并按时间排序
 * @param rawData 原始数据数组
 * @param sortField 排序字段，默认为 'prodDate'
 * @param sortOrder 排序顺序，'asc' 为升序，'desc' 为降序
 * @returns 处理后的数据数组
 */
export declare function processChartData(rawData: any[], sortField?: string, sortOrder?: 'asc' | 'desc'): any[];
/**
 * 批量处理多个数据源的时间字段
 * @param dataSources 数据源数组
 * @returns 处理后的数据源数组
 */
export declare function processMultipleDataSources(dataSources: any[][]): any[][];
/**
 * 验证和修复时间数据
 * @param data 数据数组
 * @param timeFields 时间字段数组
 * @returns 验证和修复结果
 */
export declare function validateAndFixTimeData(data: any[], timeFields: string[]): {
    isValid: boolean;
    fixedData: any[];
    errors: string[];
    statistics: {
        totalRecords: number;
        validRecords: number;
        fixedRecords: number;
        invalidRecords: number;
    };
};
