/**
 * SQL result summarizer for token-efficient context injection.
 * When Claude requests summary=true, returns column statistics + sample rows
 * instead of full 200-row result sets, saving ~85% tokens per query.
 *
 * The full data is still sent to the frontend via DataEnvelope for interactive tables.
 */
export interface ColumnStat {
    column: string;
    type: 'numeric' | 'string';
    /** Numeric stats — only present for numeric columns */
    min?: number;
    max?: number;
    avg?: number;
    p50?: number;
    p90?: number;
    p95?: number;
    p99?: number;
    /** String stats — only present for string columns */
    topValues?: Array<{
        value: string;
        count: number;
    }>;
    nullCount: number;
}
export interface SqlSummary {
    totalRows: number;
    columnStats: ColumnStat[];
    sampleRows: any[][];
    columns: string[];
}
/**
 * Summarize SQL query results into compact column statistics + sample rows.
 * Sample rows are selected by picking the most "interesting" rows — sorted
 * by descending values in duration/latency/jank-related columns.
 */
export declare function summarizeSqlResult(columns: string[], rows: any[][]): SqlSummary;
//# sourceMappingURL=sqlSummarizer.d.ts.map