///
import IEmulationProfile from '@unblocked-web/specifications/plugin/IEmulationProfile';
import IUnblockedPlugins from '@unblocked-web/specifications/plugin/IUnblockedPlugins';
import IUnblockedPlugin, { IUnblockedPluginClass } from '@unblocked-web/specifications/plugin/IUnblockedPlugin';
import { URL } from 'url';
import { IInteractionGroups, IInteractionStep } from '@unblocked-web/specifications/agent/interact/IInteractions';
import IInteractionsHelper from '@unblocked-web/specifications/agent/interact/IInteractionsHelper';
import IHttpResourceLoadDetails from '@unblocked-web/specifications/agent/net/IHttpResourceLoadDetails';
import IHttp2ConnectSettings from '@unblocked-web/specifications/agent/net/IHttp2ConnectSettings';
import IBrowserContext from '@unblocked-web/specifications/agent/browser/IBrowserContext';
import { IWorker } from '@unblocked-web/specifications/agent/browser/IWorker';
import { IPage } from '@unblocked-web/specifications/agent/browser/IPage';
import IBrowser from '@unblocked-web/specifications/agent/browser/IBrowser';
import IBrowserLaunchArgs from '@unblocked-web/specifications/agent/browser/IBrowserLaunchArgs';
import IHttpSocketAgent from '@unblocked-web/specifications/agent/net/IHttpSocketAgent';
import ITlsSettings from '@unblocked-web/specifications/agent/net/ITlsSettings';
import ITcpSettings from '@unblocked-web/specifications/agent/net/ITcpSettings';
import IDnsSettings from '@unblocked-web/specifications/agent/net/IDnsSettings';
import IPoint from '@unblocked-web/specifications/agent/browser/IPoint';
import IDevtoolsSession from '@unblocked-web/specifications/agent/browser/IDevtoolsSession';
import { IHooksProvider } from '@unblocked-web/specifications/agent/hooks/IHooks';
import { IFrame } from '@unblocked-web/specifications/agent/browser/IFrame';
export default class Plugins implements IUnblockedPlugins {
profile: IEmulationProfile;
isStarted: boolean;
get hasHooks(): boolean;
readonly instances: IUnblockedPlugin[];
private hooksByName;
constructor(emulationProfile: IEmulationProfile, pluginClasses: IUnblockedPluginClass[]);
hook(hooksToAdd: IHooksProvider, runConfigure?: boolean): void;
addDomOverride(runOn: 'page' | 'worker', script: string, args: Record & {
callbackName?: string;
}, callback?: (data: string, frame: IFrame) => any): boolean;
playInteractions(interactionGroups: IInteractionGroups, runFn: (interaction: IInteractionStep) => Promise, helper: IInteractionsHelper): Promise;
adjustStartingMousePoint(point: IPoint, helper: IInteractionsHelper): Promise;
configure(profile: IEmulationProfile): Promise;
onNewBrowser(browser: IBrowser, launchArgs: IBrowserLaunchArgs): Promise;
onNewPage(page: IPage): Promise;
onNewWorker(worker: IWorker): Promise;
onNewBrowserContext(context: IBrowserContext): Promise;
onDevtoolsPanelAttached(devtoolsSession: IDevtoolsSession): Promise;
onDevtoolsPanelDetached(devtoolsSession: IDevtoolsSession): Promise;
onDnsConfiguration(settings: IDnsSettings): void;
onTcpConfiguration(settings: ITcpSettings): void;
onTlsConfiguration(settings: ITlsSettings): void;
onHttpAgentInitialized(agent: IHttpSocketAgent): Promise;
onHttp2SessionConnect(resource: IHttpResourceLoadDetails, settings: IHttp2ConnectSettings): Promise;
beforeHttpRequest(resource: IHttpResourceLoadDetails): Promise;
beforeHttpResponse(resource: IHttpResourceLoadDetails): Promise;
websiteHasFirstPartyInteraction(url: URL): void;
}