import EventEmitter2 from 'eventemitter2';
import { RegisterWorkers } from './workers/create-workers';
import { ReporterTestResult } from './adapters/test-result';
import { ImageFileSaver, TestSpecByPath } from './types';
import { ImageStore } from './image-store';
import { Cache } from './cache';
interface ImagesInfoSaverOptions {
    imageFileSaver: ImageFileSaver;
    reportPath: string;
    imageStore: ImageStore;
    expectedPathsCache: Cache<[TestSpecByPath, string | undefined], string>;
}
export declare class ImagesInfoSaver extends EventEmitter2 {
    private _imageFileSaver;
    private _reportPath;
    private _imageStore;
    private _expectedPathsCache;
    constructor(options: ImagesInfoSaverOptions);
    save(testResult: ReporterTestResult, workers?: RegisterWorkers<['saveDiffTo']>): Promise<ReporterTestResult>;
    setImageFileSaver(imageFileSaver: ImageFileSaver): void;
    private _createDiffInFile;
    private _getReusedExpectedPath;
    private _saveImage;
    private _saveActualImageIfNeeded;
    private _saveDiffImageIfNeeded;
    private _saveExpectedImageIfNeeded;
}
export {};
