export interface DataChunk {
    id: string;
    index: number;
    totalChunks: number;
    type: 'metadata' | 'data' | 'oversize';
    contentType: string;
    content: any;
    size: number;
    metadata?: {
        startIndex?: number;
        endIndex?: number;
        timeRange?: {
            start: string;
            end: string;
        };
        dataType?: string;
    };
}
export interface ChunkingResult {
    chunks: DataChunk[];
    metadata: {
        totalSize: number;
        totalChunks: number;
        dataType: string;
        chunkingStrategy: string;
    };
}
/**
 * 获取最大分块大小，完全通过环境变量配置
 */
export declare function getMaxChunkSize(): number;
/**
 * 严格分块器 - 确保每个分块不超过配置的大小限制
 */
export declare class StrictChunker {
    private maxChunkSize;
    constructor(maxChunkSize?: number);
    /**
     * 检测数据类型
     */
    private detectDataType;
    /**
     * 计算JSON大小
     */
    private calculateSize;
    /**
     * 检查是否在大小限制内
     */
    private isWithinLimit;
    /**
     * 分块Elasticsearch数据
     */
    private chunkElasticsearchData;
    /**
     * 分块Grafana查询数据
     */
    private chunkGrafanaQueryData;
    /**
     * 优化的Frame分块方法 - 减少分块数量
     */
    private chunkFrameOptimized;
    /**
     * 从frame中提取行数据
     */
    private extractRowsFromFrame;
    /**
     * 分块聚合数据
     */
    private chunkAggregations;
    /**
     * 分块数组数据
     */
    private chunkArray;
    /**
     * 处理过大的单个项目
     */
    private handleOversizedItem;
    /**
     * 提取项目摘要
     */
    private extractItemSummary;
    /**
     * 提取ES元数据
     */
    private extractESMetadata;
    /**
     * 主分块函数
     */
    chunk(data: any): ChunkingResult;
    /**
     * 分块表格数据
     */
    private chunkTableData;
    /**
     * 分块通用数据
     */
    private chunkGenericData;
}
/**
 * 创建严格分块器实例
 */
export declare function createStrictChunker(maxChunkSize?: number): StrictChunker;
/**
 * 分块数据并保存到文件
 */
export declare function chunkAndSave(data: any, requestId: string, maxChunkSize?: number): Promise<ChunkingResult>;
/**
 * 从文件加载分块
 */
export declare function loadChunks(requestId: string): Promise<ChunkingResult>;
/**
 * 验证分块结果
 */
export declare function validateChunks(chunks: DataChunk[], maxChunkSize?: number): boolean;
/**
 * 生成分块分析指导
 */
export declare function generateChunkingGuidance(chunks: DataChunk[]): string;
