import type { Region } from '@applitools/utils';
import type { DriverTarget, Target, Eyes, CheckSettings, CloseSettings, Environment } from './types';
import { type AbortSignal } from 'abort-controller';
import { type Logger } from '@applitools/logger';
import { type SpecType, type SpecDriver } from '@applitools/driver';
type Options<TSpec extends SpecType> = {
    eyes: Eyes<TSpec>;
    target?: DriverTarget<TSpec>;
    environments?: Environment[];
    spec?: SpecDriver<TSpec>;
    signal?: AbortSignal;
    logger: Logger;
};
export declare function makeCheckAndClose<TSpec extends SpecType>({ eyes, target: defaultTarget, environments: defaultEnvironments, spec, signal, logger: mainLogger, }: Options<TSpec>): ({ target, settings, logger, }?: {
    target?: Target<TSpec> | undefined;
    settings?: (import("@applitools/core-base").CheckSettings<Region | import("@applitools/driver").ElementReference<TSpec>> & import("./types").ScreenshotSettings<TSpec> & {
        environments?: Environment[] | undefined;
    } & {
        hooks?: {
            beforeCaptureScreenshot: string;
        } | undefined;
        disableBrowserFetching?: boolean | undefined;
        layoutBreakpoints?: {
            breakpoints: boolean | number[];
            reload?: boolean | undefined;
        } | undefined;
        ufgOptions?: Record<string, any> | undefined;
        autProxy?: (import("@applitools/req").Proxy & {
            mode?: "Allow" | "Block" | undefined;
            domains?: string[] | undefined;
        }) | undefined;
        headers?: Record<string, string> | undefined;
    } & import("@applitools/core-base").CloseSettings & {
        environments?: Environment[] | undefined;
    }) | undefined;
    logger?: Logger | undefined;
}) => Promise<void>;
export {};
