import IEmulationProfile from '@ulixee/unblocked-specification/plugin/IEmulationProfile'; import IUnblockedPlugins from '@ulixee/unblocked-specification/plugin/IUnblockedPlugins'; import IUnblockedPlugin, { IUnblockedPluginClass, PluginConfigs } from '@ulixee/unblocked-specification/plugin/IUnblockedPlugin'; import { URL } from 'url'; import { IInteractionGroups, IInteractionStep } from '@ulixee/unblocked-specification/agent/interact/IInteractions'; import IInteractionsHelper from '@ulixee/unblocked-specification/agent/interact/IInteractionsHelper'; import IHttpResourceLoadDetails from '@ulixee/unblocked-specification/agent/net/IHttpResourceLoadDetails'; import IHttp2ConnectSettings from '@ulixee/unblocked-specification/agent/net/IHttp2ConnectSettings'; import IBrowserContext from '@ulixee/unblocked-specification/agent/browser/IBrowserContext'; import { IWorker } from '@ulixee/unblocked-specification/agent/browser/IWorker'; import { IPage } from '@ulixee/unblocked-specification/agent/browser/IPage'; import IBrowser from '@ulixee/unblocked-specification/agent/browser/IBrowser'; import IBrowserUserConfig from '@ulixee/unblocked-specification/agent/browser/IBrowserUserConfig'; import IHttpSocketAgent from '@ulixee/unblocked-specification/agent/net/IHttpSocketAgent'; import ITlsSettings from '@ulixee/unblocked-specification/agent/net/ITlsSettings'; import ITcpSettings from '@ulixee/unblocked-specification/agent/net/ITcpSettings'; import IDnsSettings from '@ulixee/unblocked-specification/agent/net/IDnsSettings'; import IPoint from '@ulixee/unblocked-specification/agent/browser/IPoint'; import IDevtoolsSession from '@ulixee/unblocked-specification/agent/browser/IDevtoolsSession'; import { IHooksProvider } from '@ulixee/unblocked-specification/agent/hooks/IHooks'; import { IFrame } from '@ulixee/unblocked-specification/agent/browser/IFrame'; import IResourceType from '@ulixee/unblocked-specification/agent/net/IResourceType'; export default class Plugins implements IUnblockedPlugins { profile: IEmulationProfile; isStarted: boolean; get hasHooks(): boolean; readonly instances: IUnblockedPlugin[]; private hooksByName; constructor(emulationProfile: IEmulationProfile, pluginClasses: IUnblockedPluginClass[], pluginConfigs?: PluginConfigs); hook(hooksToAdd: IHooksProvider, runConfigure?: boolean): void; onClose(): 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: IBrowserUserConfig): Promise; onNewPage(page: IPage): Promise; onNewFrameProcess(frame: IFrame): 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; shouldBlockRequest(url: string, resourceTypeIfKnown?: IResourceType): boolean; beforeHttpRequest(resource: IHttpResourceLoadDetails): Promise; beforeHttpRequestBody(resource: IHttpResourceLoadDetails): Promise; beforeHttpResponse(resource: IHttpResourceLoadDetails): Promise; beforeHttpResponseBody(resource: IHttpResourceLoadDetails): Promise; afterHttpResponse(resource: IHttpResourceLoadDetails): Promise; websiteHasFirstPartyInteraction(url: URL): void; }