import { BaseDriver } from 'appium/driver';
import { executeElementCommand, executeGetVMCommand, executeGetIsolateCommand } from './sessions/observatory';
import { desiredCapConstraints } from './desired-caps';
import { XCUITestDriver } from 'appium-xcuitest-driver';
import { AndroidUiautomator2Driver } from 'appium-uiautomator2-driver';
import type { DefaultCreateSessionResult, DriverCaps, RouteMatcher } from '@appium/types';
import type { IsolateSocket } from './sessions/isolate_socket';
import type { Server } from 'node:net';
import type { LogMonitor } from './sessions/log-monitor';
type FluttertDriverConstraints = typeof desiredCapConstraints;
declare class FlutterDriver extends BaseDriver<FluttertDriverConstraints> {
    socket: IsolateSocket | null;
    locatorStrategies: string[];
    proxydriver: XCUITestDriver | AndroidUiautomator2Driver | null;
    device: any;
    portForwardLocalPort: string | null;
    localServer: Server | null;
    protected _logmon: LogMonitor | null;
    internalCaps: DriverCaps<FluttertDriverConstraints>;
    receiveAsyncResponse: (...args: any[]) => Promise<any>;
    proxyWebViewActive: boolean;
    executeElementCommand: typeof executeElementCommand;
    executeGetVMCommand: typeof executeGetVMCommand;
    executeGetIsolateCommand: typeof executeGetIsolateCommand;
    execute: (this: FlutterDriver, rawCommand: string, args: any[]) => Promise<any>;
    executeAsync: (this: FlutterDriver, rawCommand: string, args: any[]) => Promise<any>;
    getText: (this: FlutterDriver, el: string) => Promise<string | null>;
    setValue: (this: FlutterDriver, textInput: string | [string], el: string) => Promise<void>;
    clear: (this: FlutterDriver, el: string) => Promise<void>;
    getScreenshot: (this: FlutterDriver) => Promise<any>;
    click: (this: FlutterDriver, el: string) => Promise<any>;
    longTap: (this: FlutterDriver, gestures: Record<string, any>[], ms: number) => Promise<any>;
    tapEl: (this: FlutterDriver, el: string, longPress: boolean) => Promise<any>;
    tap: (this: FlutterDriver, gestures: Record<string, any>[], longPress: boolean) => Promise<void>;
    performTouch: (this: FlutterDriver, gestures: Record<string, any>[]) => Promise<any>;
    getContexts: (this: FlutterDriver) => Promise<string[]>;
    getCurrentContext: (this: FlutterDriver) => Promise<string>;
    setContext: (this: FlutterDriver, context: string) => Promise<void>;
    protected currentContext: string;
    private driverShouldDoProxyCmd;
    getClipboard: (this: FlutterDriver, contentType: string) => Promise<void>;
    setClipboard: (this: FlutterDriver, content: string, contentType: string) => Promise<void>;
    constructor(opts: any, shouldValidateCaps: boolean);
    createSession(...args: any[]): Promise<DefaultCreateSessionResult<FluttertDriverConstraints>>;
    deleteSession(): Promise<void>;
    installApp(appPath: string, opts?: {}): Promise<void>;
    activateApp(appId: string): Promise<void>;
    terminateApp(appId: string): Promise<boolean | undefined>;
    back(): Promise<void | undefined>;
    getOrientation(): Promise<string | null>;
    setOrientation(orientation: string): Promise<unknown>;
    validateLocatorStrategy(strategy: string): void;
    validateDesiredCaps(caps: DriverCaps<FluttertDriverConstraints>): caps is DriverCaps<FluttertDriverConstraints>;
    proxyCommand(url: string, method: string, body?: null): Promise<unknown>;
    executeCommand(cmd: string, ...args: [string, [{
        skipAttachObservatoryUrl: string;
        any: any;
    }]]): Promise<any>;
    getProxyAvoidList(): RouteMatcher[];
    proxyActive(): boolean;
    canProxy(): boolean;
}
export { FlutterDriver };
//# sourceMappingURL=driver.d.ts.map