import IUnblockedPlugin from '@unblocked-web/specifications/plugin/IUnblockedPlugin'; import IEmulationProfile from '@unblocked-web/specifications/plugin/IEmulationProfile'; import { IBoundLog } from '@ulixee/commons/interfaces/ILog'; import IDeviceProfile from '@unblocked-web/specifications/plugin/IDeviceProfile'; import IBrowserEngine from '@unblocked-web/specifications/agent/browser/IBrowserEngine'; import IUserAgentOption from '@unblocked-web/specifications/plugin/IUserAgentOption'; import IHttpResourceLoadDetails from '@unblocked-web/specifications/agent/net/IHttpResourceLoadDetails'; import IDnsSettings from '@unblocked-web/specifications/agent/net/IDnsSettings'; import ITcpSettings from '@unblocked-web/specifications/agent/net/ITcpSettings'; import ITlsSettings from '@unblocked-web/specifications/agent/net/ITlsSettings'; import { IPage } from '@unblocked-web/specifications/agent/browser/IPage'; import { IWorker } from '@unblocked-web/specifications/agent/browser/IWorker'; import IHttp2ConnectSettings from '@unblocked-web/specifications/agent/net/IHttp2ConnectSettings'; import IHttpSocketAgent from '@unblocked-web/specifications/agent/net/IHttpSocketAgent'; import IBrowserLaunchArgs from '@unblocked-web/specifications/agent/browser/IBrowserLaunchArgs'; import IBrowser from '@unblocked-web/specifications/agent/browser/IBrowser'; import { IFrame } from '@unblocked-web/specifications/agent/browser/IFrame'; import IBrowserData from './interfaces/IBrowserData'; import IUserAgentData from './interfaces/IUserAgentData'; export declare const defaultBrowserEngine: import("@unblocked-web/specifications/agent/browser/IBrowserEngineOption").default & { version: import("@unblocked-web/specifications/plugin/IUserAgentOption").IVersion; }; export interface IEmulatorOptions { userAgentSelector?: string; } export default class DefaultBrowserEmulator implements IUnblockedPlugin { readonly logger: IBoundLog; readonly emulationProfile: IEmulationProfile; get userAgentString(): string; get browserEngine(): IBrowserEngine; get deviceProfile(): IDeviceProfile; protected readonly data: IBrowserData; private domOverridesBuilder; private readonly userAgentData; constructor(emulationProfile: IEmulationProfile); configure(emulationProfile: IEmulationProfile): void; onDnsConfiguration(settings: IDnsSettings): void; onTcpConfiguration(settings: ITcpSettings): void; onTlsConfiguration(settings: ITlsSettings): void; beforeHttpRequest(resource: IHttpResourceLoadDetails): void; onHttpAgentInitialized(agent: IHttpSocketAgent): Promise; onHttp2SessionConnect(request: IHttpResourceLoadDetails, settings: IHttp2ConnectSettings): void; onNewBrowser(browser: IBrowser, options: IBrowserLaunchArgs): void; addDomOverride(runOn: 'page' | 'worker', script: string, args: Record & { callbackName?: string; }, callback?: (data: string, frame: IFrame) => any): boolean; onNewPage(page: IPage): Promise; onNewWorker(worker: IWorker): Promise; protected getUserAgentData(): IUserAgentData; static shouldActivate(emulationProfile: IEmulationProfile): boolean; static selectBrowserMeta(userAgentSelector?: string): { browserEngine: IBrowserEngine; userAgentOption: IUserAgentOption; }; static default(): IBrowserEngine; }