/**
 * Database connection and initialization for Code Quality Orchestrator
 * Handles SQLite setup, migrations, and Kysely configuration
 */
import { Kysely } from "kysely";
import type { DatabaseSchema, DatabaseConfig } from "./types.js";
export declare class DatabaseConnection {
    private static instance;
    private static config;
    private static sqliteDatabase;
    /**
     * Initialize database connection with configuration
     */
    static initialize(config: DatabaseConfig): Promise<Kysely<DatabaseSchema>>;
    /**
     * Get existing database connection
     */
    static getInstance(): Kysely<DatabaseSchema>;
    /**
     * Close database connection
     */
    static close(): Promise<void>;
    /**
     * Run database migrations
     */
    private static runMigrations;
    /**
     * Initialize schema directly (when migrations are disabled)
     */
    private static initializeSchema;
    /**
     * Health check - verify database is accessible and properly initialized
     */
    static healthCheck(): Promise<boolean>;
    /**
     * Get database statistics for monitoring
     */
    static getStats(): Promise<{
        violations_count: number;
        rule_checks_count: number;
        database_size_mb: number;
        wal_size_mb: number;
    }>;
    /**
     * Vacuum database to reclaim space and optimize performance
     */
    static vacuum(): Promise<void>;
    /**
     * Analyze database to update query planner statistics
     */
    static analyze(): Promise<void>;
}
/**
 * Initialize database with default configuration
 */
export declare function initializeDatabase(config?: Partial<DatabaseConfig>): Promise<Kysely<DatabaseSchema>>;
/**
 * Get database connection instance
 */
export declare function getDatabase(): Kysely<DatabaseSchema>;
/**
 * Close database connection
 */
export declare function closeDatabase(): Promise<void>;
//# sourceMappingURL=connection.d.ts.map