import type { SpecType } from '../types/extractors';
import type { CatalogEntitiesService } from '../database/catalog-entities-service';
import type { FileType } from '../../../persistence/file-hashes/types.js';
type Extractor = SpecType | 'fs';
type CountOfEntitiesByType = Record<string, number>;
export type PendingFileHashConfirmation = {
    fileType: FileType;
    filePath: string;
    hash: string;
};
export declare class CatalogDataCollector {
    #private;
    resetForRun(): void;
    addExtractor(extractor: Extractor): void;
    increaseSkippedFilesCount(): void;
    increaseProcessedFilesCount(): void;
    markSourceFileAsChanged(sourceFile: string): void;
    markSourceFileAsRemoved(sourceFile: string): void;
    getPublishDelta(): {
        changedSourceFiles: string[];
        removedSourceFiles: string[];
    };
    markFileHashPendingConfirmation(entry: PendingFileHashConfirmation): void;
    getFileHashConfirmations(): PendingFileHashConfirmation[];
    getCatalogEntitiesData(catalogEntitiesService: CatalogEntitiesService): Promise<{
        totalEntitiesCount: number | "error";
        countOfEntitiesByType: "error" | CountOfEntitiesByType;
        extractors: Extractor[];
        totalFilesSkippedByHash: number;
        totalProcessedFiles: number;
    }>;
}
export declare const catalogDataCollector: CatalogDataCollector;
export {};
//# sourceMappingURL=catalog-data-collector.d.ts.map