/** * Adaptive Compression - Automatic optimization strategy selection * * Analyzes data characteristics and selects the best optimization strategies * for each column automatically. Combines multiple techniques for maximum * compression. * * Features: * - Automatic strategy selection per column * - Multi-strategy combination * - Performance-aware decision making * - Comprehensive analysis and reporting */ import type { AdaptiveOptions, OptimizationStrategy, OptimizationAnalysis } from './types.js'; /** * Column analysis result with recommended strategies */ export interface ColumnAnalysis { columnName: string; dataType: 'string' | 'number' | 'boolean' | 'mixed'; uniqueValues: number; totalValues: number; hasNulls: boolean; recommendedStrategies: OptimizationStrategy[]; estimatedSavings: number; reasoning: string; } /** * Adaptive compression optimizer * * Automatically selects and applies the best optimization strategies * for each column based on data characteristics. */ export declare class AdaptiveOptimizer { private options; private dictBuilder; private columnReorderer; private quantizer; private deltaEncoder; private rleEncoder; constructor(options?: Partial); /** * Analyze a column and recommend optimization strategies * * @param values - Column values * @param columnName - Column name * @returns Analysis with recommendations */ analyzeColumn(values: any[], columnName: string): ColumnAnalysis; /** * Analyze entire dataset and recommend optimization strategies * * @param data - Array of row objects * @param columns - Column names (optional, extracted from data if not provided) * @returns Complete analysis with recommendations */ analyzeDataset(data: any[], columns?: string[]): OptimizationAnalysis; /** * Apply recommended optimizations to a dataset * * @param data - Array of row objects * @param columns - Column names * @returns Optimized data and directives */ optimize(data: any[], columns?: string[]): { optimizedData: any[]; directives: string[]; analysis: OptimizationAnalysis; }; /** * Detect data type of a column * * @param values - Column values * @returns Detected type */ private detectDataType; /** * Get enabled strategies * * @returns Array of enabled strategy names */ getEnabledStrategies(): OptimizationStrategy[]; /** * Enable a strategy * * @param strategy - Strategy to enable */ enableStrategy(strategy: OptimizationStrategy): void; /** * Disable a strategy * * @param strategy - Strategy to disable */ disableStrategy(strategy: OptimizationStrategy): void; /** * Reset to default strategies */ resetStrategies(): void; } //# sourceMappingURL=adaptive.d.ts.map