/**
 * SQL Static Analysis Library
 *
 * Provides unified API for static analysis of SQL files, including:
 * - SQL file discovery and loading
 * - Schema validation using SqlSchemaValidator
 * - JSON mapping compatibility validation
 * - Comprehensive validation reports
 */
import { PrismaSchemaResolver } from './PrismaSchemaResolver';
export interface SqlFileInfo {
    filename: string;
    fullPath: string;
    baseName: string;
    content: string;
    relativePath?: string;
}
export interface SqlValidationResult {
    filename: string;
    isValid: boolean;
    errors: string[];
    parseResult?: any;
    hasJsonMapping: boolean;
    jsonMappingValid?: boolean;
    jsonMappingErrors?: string[];
}
export interface SqlStaticAnalysisReport {
    totalFiles: number;
    validFiles: number;
    invalidFiles: number;
    filesWithMapping: number;
    validMappings: number;
    invalidMappings: number;
    results: SqlValidationResult[];
    summary: string;
}
export interface SqlStaticAnalyzerOptions {
    sqlDirectory: string;
    schemaResolver: PrismaSchemaResolver;
    debug?: boolean;
}
export declare class SqlStaticAnalyzer {
    private options;
    private tableColumnResolver;
    constructor(options: SqlStaticAnalyzerOptions);
    /**
     * Discover all SQL files in the configured directory
     */
    discoverSqlFiles(): SqlFileInfo[];
    /**
     * Validate a single SQL file
     */
    validateSqlFile(sqlFile: SqlFileInfo): SqlValidationResult;
    /**
     * Validate JSON mapping for a SQL file
     */
    private validateJsonMapping;
    /**
     * Validate all SQL files in the directory
     */
    validateAllSqlFiles(): SqlValidationResult[];
    /**
     * Generate comprehensive analysis report
     */
    generateAnalysisReport(): SqlStaticAnalysisReport;
    /**
     * Validate schema availability and table information
     */
    validateSchemaInfo(): {
        isValid: boolean;
        tableNames: string[];
        errors: string[];
    };
}
/**
 * Convenience function for quick SQL static analysis
 */
export declare function analyzeSqlFiles(options: SqlStaticAnalyzerOptions): Promise<SqlStaticAnalysisReport>;
/**
 * Convenience function for validating a single SQL file
 */
export declare function validateSqlFile(sqlFilePath: string, schemaResolver: PrismaSchemaResolver): Promise<SqlValidationResult>;
