import type { RouteMatcher, DefaultCreateSessionResult, InitialOpts, StringRecord, ExternalDriver, W3CDriverCaps } from '@appium/types';
import { BaseDriver } from 'appium/driver';
import { GeckoDriverServer } from './gecko';
import { desiredCapConstraints } from './desired-caps';
import * as findCommands from './commands/find';
export type GeckoConstraints = typeof desiredCapConstraints;
export declare class GeckoDriver extends BaseDriver<GeckoConstraints, StringRecord> implements ExternalDriver<GeckoConstraints, string, StringRecord> {
    proxyReqRes: (...args: any) => any;
    findElOrEls: typeof findCommands.findElOrEls;
    private isProxyActive;
    private _gecko;
    private _bidiProxyUrl;
    constructor(opts?: InitialOpts);
    get gecko(): GeckoDriverServer;
    get bidiProxyUrl(): string | null;
    proxyActive(sessionId?: string): boolean;
    getProxyAvoidList(): RouteMatcher[];
    canProxy(): boolean;
    validateDesiredCaps(caps: any): caps is any;
    createSession(w3cCaps1: W3CDriverCaps<GeckoConstraints>, w3cCaps2?: W3CDriverCaps<GeckoConstraints>, ...args: any[]): Promise<DefaultCreateSessionResult<GeckoConstraints>>;
    deleteSession(): Promise<void>;
    private resetState;
    private _extractWebSocketUrl;
}
export default GeckoDriver;
//# sourceMappingURL=driver.d.ts.map