import { StaticReportBuilder, StaticReportBuilderOptions } from './static';
import { TestBranch, TestEqualDiffsData, TestRefUpdateData } from '../tests-tree-builder/gui';
import { TestStatus } from '../constants';
import { ConfigForStaticFile } from '../server-utils';
import { ReporterTestResult } from '../test-adapter';
import { Tree, TreeImage } from '../tests-tree-builder/base';
import { ReporterConfig } from '../types';
import { HtmlReporter, HtmlReporterValues } from '../plugin-api';
import { SkipItem } from '../tests-tree-builder/static';
interface UndoAcceptImageResult {
    updatedImage: TreeImage | undefined;
    removedResult: ReporterTestResult | undefined;
    previousExpectedPath: string | null;
    shouldRemoveReference: boolean;
    shouldRevertReference: boolean;
    newResult: ReporterTestResult;
}
export interface GuiReportBuilderResult {
    tree: Tree;
    skips: SkipItem[];
    config: ConfigForStaticFile & {
        customGui: ReporterConfig['customGui'];
    };
    date: string;
    apiValues?: HtmlReporterValues;
}
export declare class GuiReportBuilder extends StaticReportBuilder {
    private _testsTree;
    private _skips;
    private _apiValues?;
    constructor(htmlReporter: HtmlReporter, pluginConfig: ReporterConfig, options: StaticReportBuilderOptions);
    setApiValues(values: HtmlReporterValues): this;
    reuseTestsTree(tree: Tree): void;
    getResult(): GuiReportBuilderResult;
    getTestBranch(id: string): TestBranch;
    getTestsDataToUpdateRefs(imageIds: string[]): TestRefUpdateData[];
    getImageDataToFindEqualDiffs(imageIds: string[]): TestEqualDiffsData[];
    undoAcceptImage(testResultWithoutAttempt: ReporterTestResult, stateName: string): UndoAcceptImageResult | null;
    getUpdatedReferenceTestStatus(testResult: ReporterTestResult): TestStatus;
    addTestResult(formattedResultOriginal: ReporterTestResult, updates?: Partial<ReporterTestResult>): Promise<ReporterTestResult>;
    private _loadImagesFromPreviousAttempt;
}
export {};
