/**
 * Download manager for Scryfall card images and art crops.
 */
export interface DownloadResult {
    cardName: string;
    filePath: string;
    jsonPath?: string;
    face_index?: number;
    face_name?: string;
    total_faces?: number;
    is_transform_card?: boolean;
}
export interface DownloadSummary {
    totalCards: number;
    downloaded: number;
    skipped: number;
    errors: number;
    downloadedFiles: DownloadResult[];
    totalImages?: number;
}
export declare class DownloadManager {
    private db;
    init(): Promise<void>;
    /**
     * Extract image URLs from a card, handling both single-faced and multi-faced cards.
     */
    private extractImageUrls;
    /**
     * Download card images for a list of card names.
     */
    downloadCardImages(cardNames: string[], forceDownload?: boolean, setCodes?: string[], collectorNumbers?: string[], baseDir?: string): Promise<DownloadResult[]>;
    /**
     * Download art crop images for a list of card names.
     */
    downloadArtCrops(cardNames: string[], forceDownload?: boolean, setCodes?: string[], collectorNumbers?: string[], baseDir?: string): Promise<DownloadResult[]>;
    /**
     * Log download summary statistics.
     */
    private logSummary;
    /**
     * Close the database connection.
     */
    close(): void;
}
export declare const downloadManager: DownloadManager;
//# sourceMappingURL=downloadManager.d.ts.map