import type { BrokerServerSettings, ScreenshotSettings, Screenshot, SnapshotSettings, IOSSnapshot, AndroidSnapshot } from '../types';
import { type Logger } from '@applitools/logger';
export interface NMLRequests {
    preTakeScreenshot(options: {
        logger?: Logger;
    }): Promise<void>;
    takeScreenshots(options: {
        settings: ScreenshotSettings;
        logger?: Logger;
    }): Promise<Screenshot[]>;
    takeSnapshots<TSnapshot extends IOSSnapshot | AndroidSnapshot = IOSSnapshot | AndroidSnapshot>(options: {
        settings: SnapshotSettings;
        logger?: Logger;
    }): Promise<TSnapshot[]>;
}
export declare function makeNMLRequests({ settings, logger: mainLogger, }: {
    settings: BrokerServerSettings;
    logger: Logger;
}): NMLRequests;
