import type { CDP } from "..";
import type { CDPSessionId } from "../types";
import type { SelectivityMapSourceMapUrlFn } from "../../../config/types";
export declare class JSSelectivity {
    private readonly _cdp;
    private readonly _sessionId;
    private readonly _sourceRoot;
    private readonly _mapSourceMapUrl;
    private _debuggerOnScriptParsedFn;
    private readonly _scriptsSource;
    private readonly _scriptsSourceMap;
    private readonly _scriptIdToSourceUrl;
    private readonly _scriptIdToSourceMapUrl;
    private readonly _coverageResult;
    constructor(cdp: CDP, sessionId: CDPSessionId, sourceRoot: string, mapSourceMapUrl: SelectivityMapSourceMapUrlFn | null);
    private _processScript;
    private _ensureScriptsAreLoading;
    private _waitForLoadingScripts;
    start(): Promise<void>;
    takeCoverageSnapshot(): Promise<void>;
    /** @param drop only performs cleanup without providing actual deps. Should be "true" if test is failed */
    stop(drop?: boolean): Promise<Set<string> | null>;
}
