/**
 * Database bulk operations for the Scryfall card database.
 *
 * This module provides utilities for bulk operations such as:
 * - Verifying database integrity
 * - Scanning directories for image files
 * - Cleaning the database
 * - Generating reports
 */
export interface IntegrityResult {
    totalRecords: number;
    missingFiles: number;
}
export interface ScanResult {
    totalFiles: number;
    addedToDb: number;
}
export interface DatabaseReport {
    totalRecords: number;
    missingFiles: number;
    sets: Record<string, number>;
    setDirectories: number;
    totalImages: number;
    databaseCoverage: number;
}
export declare class BulkOperations {
    private db;
    init(): Promise<void>;
    /**
     * Verify database integrity by checking if all referenced files exist.
     */
    verifyDatabaseIntegrity(verbose?: boolean): Promise<IntegrityResult>;
    /**
     * Scan a directory for image files and optionally add them to the database.
     */
    scanDirectoryForImages(directory: string, updateDb?: boolean, verbose?: boolean): Promise<ScanResult>;
    /**
     * Recursively walk a directory and find all image files.
     */
    private walkDirectoryForImages;
    /**
     * Clean the database by removing records for files that no longer exist.
     */
    cleanDatabase(dryRun?: boolean, verbose?: boolean): Promise<number>;
    /**
     * Generate a comprehensive report on the database status.
     */
    generateReport(): Promise<DatabaseReport>;
    /**
     * Print a formatted report to the logger.
     */
    printReport(): Promise<void>;
    /**
     * Close the database connection.
     */
    close(): void;
}
export declare const bulkOperations: BulkOperations;
//# sourceMappingURL=bulkOperations.d.ts.map