import { DiffStatus } from '@saucelabs/visual';
export { DiffingMethod } from '@saucelabs/visual';
import { H as HasSauceConfig, b as ScreenshotMetadata } from './types-1a9b691b.js';
export { c as SauceVisualOptions } from './types-1a9b691b.js';

/**
 * The content of this file will be evaluated by Cypress main process.
 * It has no access to browser, viewport, etc...
 *
 *
 * It receives info from Cypress browser through *on.task()* hooks.
 */

declare class CypressSauceVisual {
    private buildId;
    private isBuildExternal;
    private diffingMethod;
    private diffingOptions;
    private screenshotsMetadata;
    private api;
    private region;
    private jobId;
    private browser?;
    private os?;
    private uploadedDiffIds;
    domCaptureScript: Promise<string>;
    constructor(config: HasSauceConfig);
    setBrowser(browser: Cypress.Browser): void;
    setOperationSystem(os: Cypress.SystemDetails): void;
    useExistingBuildOrCreate(config: HasSauceConfig): Promise<void>;
    getEffectiveBuild(): Promise<string | undefined>;
    /**
     * Build related actions
     */
    createBuild(config: HasSauceConfig): Promise<void>;
    closeBuild(): Promise<void>;
    /**
     * Screenshot management
     */
    addScreenshotMetadata(metadata: ScreenshotMetadata): null;
    private getResultSummary;
    getTestResults(): Promise<Record<DiffStatus, number>>;
    processScreenshot(screenshot: Cypress.ScreenshotDetails): Promise<void>;
    /**
     * Cleans up leftover screenshot metadata after a spec is complete.
     */
    cleanScreenshot(): void;
    /**
     * Wrapper around logging
     */
    log(data: string): null;
    logColoredWarn(data: string): null;
    /**
     * Registration of hooks
     */
    static register(on: Cypress.PluginEvents, config: Cypress.PluginConfigOptions): void;
}

export { CypressSauceVisual };
