import type { Region } from '@applitools/utils';
import type { ScreenshotSettings } from '../../classic/types';
import { type Logger } from '@applitools/logger';
import { type Driver, type Element, type ElementReference, type Selector, type SpecType } from '@applitools/driver';
export type Screenshot<TSpec extends SpecType> = {
    image: any;
    region: Region;
    element: Element<TSpec>;
    scrollingElement: Element<TSpec>;
    restoreState(): Promise<void>;
    calculatedRegions: {
        selector?: Selector;
        regions: Region[];
    }[];
};
export declare function takeScreenshot<TSpec extends SpecType>({ driver, settings, logger, }: {
    driver: Driver<TSpec>;
    settings: ScreenshotSettings<TSpec> & {
        regionsToCalculate?: ElementReference<TSpec>[];
    };
    logger: Logger;
}): Promise<Screenshot<TSpec>>;
