import type { RouteMatcher, DefaultCreateSessionResult, DriverData, InitialOpts, StringRecord, ExternalDriver, W3CDriverCaps } from '@appium/types';
import { BaseDriver } from 'appium/driver';
import { SafariDriverServer } from './safari';
import { type SafariConstraints } from './desired-caps';
import * as cookieCommands from './commands/cookies';
import * as findCommands from './commands/find';
import * as recordScreenCommands from './commands/record-screen';
type W3CSafariDriverCaps = W3CDriverCaps<SafariConstraints>;
export declare class SafariDriver extends BaseDriver<SafariConstraints, StringRecord> implements ExternalDriver<SafariConstraints, string, StringRecord> {
    static newMethodMap: {
        readonly '/session/:sessionId/appium/start_recording_screen': {
            readonly POST: {
                readonly command: "startRecordingScreen";
                readonly payloadParams: {
                    readonly optional: readonly ["options"];
                };
            };
        };
        readonly '/session/:sessionId/appium/stop_recording_screen': {
            readonly POST: {
                readonly command: "stopRecordingScreen";
                readonly payloadParams: {
                    readonly optional: readonly ["options"];
                };
            };
        };
    };
    proxyReqRes: ((...args: any[]) => any) | null;
    _screenRecorder: recordScreenCommands.ScreenRecorder | null;
    deleteCookies: typeof cookieCommands.deleteCookies;
    findElOrEls: typeof findCommands.findElOrEls;
    startRecordingScreen: typeof recordScreenCommands.startRecordingScreen;
    stopRecordingScreen: typeof recordScreenCommands.stopRecordingScreen;
    private isProxyActive;
    private _safari;
    constructor(opts?: InitialOpts);
    get safari(): SafariDriverServer;
    proxyActive(): boolean;
    getProxyAvoidList(): RouteMatcher[];
    canProxy(): boolean;
    createSession(w3cCaps1: W3CSafariDriverCaps, w3cCaps2?: W3CSafariDriverCaps, w3cCaps3?: W3CSafariDriverCaps, driverData?: DriverData[]): Promise<DefaultCreateSessionResult<SafariConstraints>>;
    deleteSession(): Promise<void>;
    private resetState;
}
export default SafariDriver;
//# sourceMappingURL=driver.d.ts.map