import { TypedEventEmitter } from '@ulixee/commons/lib/eventUtils'; import { IBrowserNetworkEvents } from '@ulixee/unblocked-specification/agent/browser/IBrowserNetworkEvents'; import { IBoundLog } from '@ulixee/commons/interfaces/ILog'; import DevtoolsSession from './DevtoolsSession'; import IProxyConnectionOptions from '../interfaces/IProxyConnectionOptions'; export default class NetworkManager extends TypedEventEmitter { secretKey?: string; protected readonly logger: IBoundLog; private readonly devtools; private readonly attemptedAuthentications; private readonly redirectsById; private readonly requestsById; private readonly requestPublishingById; private readonly navigationRequestIdsToLoaderId; private readonly requestIdsToIgnore; private parentManager?; private readonly events; private mockNetworkRequests?; private readonly proxyConnectionOptions; private isChromeRetainingResources; private monotonicOffsetTime; constructor(devtoolsSession: DevtoolsSession, logger: IBoundLog, proxyConnectionOptions?: IProxyConnectionOptions, secretKey?: string); emit(eventType: K, event?: IBrowserNetworkEvents[K]): boolean; initialize(): Promise; setNetworkInterceptor(mockNetworkRequests: NetworkManager['mockNetworkRequests'], disableSessionLogging: boolean): Promise; close(): void; reset(): void; initializeFromParent(parentManager: NetworkManager): Promise; monotonicTimeToUnix(monotonicTime: number): number | undefined; private onAuthRequired; private onRequestPaused; private onNetworkRequestWillBeSent; private onNetworkRequestWillBeSentExtraInfo; private mergeRequestHeaders; private emitResourceRequested; private doEmitResourceRequested; private onNetworkResponseReceived; private onNetworkRequestServedFromCache; private onLoadingFailed; private onLoadingFinished; private emitLoaded; private downloadRequestBody; private getPublishingForRequestId; private onWebSocketCreated; private onWebsocketHandshake; private onWebsocketFrame; private addRequestIdToIgnore; }