import puppeteer, { Protocol } from 'puppeteer';
import { IAutomationResultsStorage } from './AutomationResultsStorage';
import { IResults, OutputType } from '../interfaces';
export interface Scenario {
    id: string;
    shouldSkip?: boolean;
    onBefore?: (page: puppeteer.Page) => Promise<void>;
    onProfile: (page: puppeteer.Page) => Promise<void>;
}
export interface AutomationProps {
    automationCount: number;
    averageOf: number;
    cwd: string;
    includeMount: boolean;
    isServerReady: boolean;
    packagePath: string;
    serverPort: number;
    url: string;
    headless: boolean;
    browserArgs?: string[];
    output: OutputType;
    preloadFilePath?: string;
    cookies?: Protocol.Network.CookieParam[];
    scenarios?: Scenario[];
}
export default function automate(props: AutomationProps, resultsStorage: IAutomationResultsStorage): Promise<IResults | null>;
