import Database from 'better-sqlite3';
/**
 * 查询计划项，表示SQL执行计划中的一个节点
 *
 * @interface QueryPlan
 */
export interface QueryPlan {
    /**
     * 计划ID
     */
    id: number;
    /**
     * 父计划ID
     */
    parentId: number | null;
    /**
     * 详细说明
     */
    detail: string;
}
/**
 * 查询分析结果
 *
 * @interface QueryAnalysisResult
 */
export interface QueryAnalysisResult {
    /**
     * SQL语句
     */
    sql: string;
    /**
     * 查询执行计划
     */
    queryPlan: QueryPlan[];
    /**
     * 执行时间（毫秒）
     */
    executionTime: number;
    /**
     * 性能建议
     */
    suggestions: string[];
}
/**
 * SQL查询分析器类
 * 提供分析查询性能、生成优化建议和索引推荐的功能
 *
 * 兼容 better-sqlite3 v11.8.1 及 SQLite 3.48.0
 */
export declare class QueryAnalyzer {
    /**
     * 分析SQL查询
     * @param db 数据库实例
     * @param sql SQL查询语句
     * @param params 查询参数
     * @returns 分析结果
     */
    static analyze(db: Database.Database, sql: string, params?: any[]): QueryAnalysisResult;
    /**
     * 分析查询计划，提供优化建议
     * @param queryPlan 查询计划
     * @param sql 原始SQL
     * @returns 优化建议
     */
    private static analyzePlan;
    /**
     * 查找查询中使用的表名
     * @param sql SQL查询语句
     * @returns 表名数组
     */
    static extractTableNames(sql: string): string[];
    /**
     * 生成可能有用的索引建议
     * @param db 数据库实例
     * @param sql SQL查询语句
     * @returns 索引建议
     */
    static suggestIndices(db: Database.Database, sql: string): string[];
}
