/** * Copyright 2017 Google Inc. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import type { Protocol } from 'devtools-protocol'; import { type CDPSession } from '../api/CDPSession.js'; import type { GeolocationOptions, MediaFeature } from '../api/Page.js'; import type { Viewport } from '../common/Viewport.js'; /** * @internal */ export interface ClientProvider { clients(): CDPSession[]; registerState(state: EmulatedState): void; } /** * @internal */ export declare class EmulatedState { #private; constructor(initialState: T, clientProvider: ClientProvider, updater: (client: CDPSession, state: T) => Promise); setState(state: T): Promise; get state(): T; sync(): Promise; } /** * @internal */ export declare class EmulationManager { #private; constructor(client: CDPSession); updateClient(client: CDPSession): void; registerState(state: EmulatedState): void; clients(): CDPSession[]; registerSpeculativeSession(client: CDPSession): Promise; get javascriptEnabled(): boolean; emulateViewport(viewport: Viewport): Promise; emulateIdleState(overrides?: { isUserActive: boolean; isScreenUnlocked: boolean; }): Promise; emulateTimezone(timezoneId?: string): Promise; emulateVisionDeficiency(type?: Protocol.Emulation.SetEmulatedVisionDeficiencyRequest['type']): Promise; emulateCPUThrottling(factor: number | null): Promise; emulateMediaFeatures(features?: MediaFeature[]): Promise; emulateMediaType(type?: string): Promise; setGeolocation(options: GeolocationOptions): Promise; /** * Resets default white background */ resetDefaultBackgroundColor(): Promise; /** * Hides default white background */ setTransparentBackgroundColor(): Promise; setJavaScriptEnabled(enabled: boolean): Promise; } //# sourceMappingURL=EmulationManager.d.ts.map