import { Browser, Page } from "puppeteer";
import PuppeteerHar from "puppeteer-har";
import { Logger } from "winston";
import { PageSession } from "./page-session.js";
export interface Hosts {
    requests: {
        firstParty: Set<any>;
        thirdParty: Set<any>;
    };
    beacons: {
        firstParty: Set<any>;
        thirdParty: Set<any>;
    };
    cookies: {
        firstParty: Set<any>;
        thirdParty: Set<any>;
    };
    localStorage: {
        firstParty: Set<any>;
        thirdParty: Set<any>;
    };
    links: {
        firstParty: Set<any>;
        thirdParty: Set<any>;
    };
    contentSecurityPolicy: {
        firstParty: Set<any>;
        thirdParty: Set<any>;
    };
}
export interface BrowserArgs {
    headless: boolean;
    browserProfile?: string;
    outputPath?: string;
    browserOptions: string[];
    "--"?: string[];
    doNotTrackJs?: boolean;
    doNotTrack?: boolean;
    pageLoadTimeout: number;
    linkLimit: number;
    sleep: number;
    cookies: string;
    seed?: string;
    skipHeadRequest: boolean;
}
export declare class BrowserSession {
    browser: Browser;
    logger: Logger;
    page: Page;
    har: PuppeteerHar;
    webSocketLog: any;
    hosts: Hosts;
    browserArgs: BrowserArgs;
    constructor(browserArgs: BrowserArgs, logger: any);
    create(): Promise<void>;
    start(output: any): Promise<PageSession>;
    end(): Promise<void>;
}
