import { Repository, DataSource } from 'typeorm';
import { BreachedRecordIdentifier } from '../have-i-been-pawned/entities/identifier.entity';
import { BreachRecord } from '../have-i-been-pawned/entities/breach-data.entity';
export declare class CsvPopulateService {
    private identifierRepository;
    private breachRepository;
    private dataSource;
    private readonly logger;
    private readonly CHUNK_SIZE;
    constructor(identifierRepository: Repository<BreachedRecordIdentifier>, breachRepository: Repository<BreachRecord>, dataSource: DataSource);
    importCsvData(filePaths: string[], batchSize?: number, defaultSource?: string): Promise<void>;
    private processCsvFile;
    private processBatch;
    private updateIdentifierMap;
    private getExistingIdentifiers;
    private createNewIdentifiers;
    private processBreachRecords;
    private processBreachData;
    private getExistingBreachMap;
    private updateExistingBreach;
    private createNewBreach;
    private chunkedSave;
    private chunkArray;
    /**
     * Extract email, phone, and additional metadata from a CSV row
     */
    private extractDataFromRow;
    /**
     * Clean phone number by removing common prefixes and non-numeric characters
     */
    private cleanPhoneNumber;
    /**
     * Find a value in the row by checking multiple possible keys
     */
    private findValueByPossibleKeys;
    /**
     * Basic email validation
     */
    private isValidEmail;
}
