import { PuppeteerExtraPlugin } from 'puppeteer-extra-plugin';
import PuppeteerHar from '@authless/puppeteer-har';
export interface HarConfig {
    callback?: HarCallback;
}
declare type HarId = string;
declare type HarObject = any;
declare type HarCallback = (error: Error | null, data: {
    har: HarObject;
    harId: HarId;
} | null) => Promise<void>;
export declare class Har extends PuppeteerExtraPlugin {
    /**
     * manages {@link PuppeteerHar} instances by assigning them to their {@link TargetId}
     */
    protected targetMap: Map<HarId, PuppeteerHar>;
    protected readonly harCallback: HarCallback;
    constructor(config?: HarConfig);
    get name(): string;
    private static getTargetId;
    private static getBrowserProcessId;
    private static getHarId;
    protected startRecording(target: any): Promise<void>;
    protected finishRecording(harId: HarId): Promise<void>;
    onTargetCreated(target: any): Promise<void>;
    onTargetDestroyed(target: any): Promise<void>;
    onDisconnected(): Promise<void>;
}
export {};
//# sourceMappingURL=har.d.ts.map