/**
 * Copyright (c) Microsoft Corporation.
 *
 * 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 { SocksProxy } from '@utils/socksProxy';
import { Dispatcher } from './dispatcher';
import type { RootDispatcher } from './dispatcher';
import type { AndroidDevice } from '../android/android';
import type { Browser } from '../browser';
import type { Playwright } from '../playwright';
import type * as channels from '@protocol/channels';
import type { Progress } from '@protocol/progress';
export type PlaywrightDispatcherOptions = {
    socksProxy?: SocksProxy;
    denyLaunch?: boolean;
    preLaunchedBrowser?: Browser;
    preLaunchedAndroidDevice?: AndroidDevice;
    sharedBrowser?: boolean;
};
export declare class PlaywrightDispatcher extends Dispatcher<Playwright, channels.PlaywrightChannel, RootDispatcher> implements channels.PlaywrightChannel {
    _type_Playwright: boolean;
    private _browserDispatcher;
    private _denyLaunch;
    constructor(scope: RootDispatcher, playwright: Playwright, options?: PlaywrightDispatcherOptions);
    newRequest(params: channels.PlaywrightNewRequestParams, progress: Progress): Promise<channels.PlaywrightNewRequestResult>;
    cleanup(): Promise<void>;
}
//# sourceMappingURL=playwrightDispatcher.d.ts.map