/**
 * @this {AndroidDriver}
 * @returns {Promise<string>}
 */
export function getCurrentContext(this: import("../../driver").AndroidDriver): Promise<string>;
/**
 * @this {AndroidDriver}
 * @returns {Promise<string[]>}
 */
export function getContexts(this: import("../../driver").AndroidDriver): Promise<string[]>;
/**
 * @this {AndroidDriver}
 * @param {string?} name
 * @returns {Promise<void>}
 */
export function setContext(this: import("../../driver").AndroidDriver, name: string | null): Promise<void>;
export class setContext {
    /**
     * @this {AndroidDriver}
     * @param {string?} name
     * @returns {Promise<void>}
     */
    constructor(this: import("../../driver").AndroidDriver, name: string | null);
    curContext: string;
}
/**
 * @this {AndroidDriver}
 * @param {number} [waitForWebviewMs]
 * @returns {Promise<import('../types').WebviewsMapping[]>}
 */
export function mobileGetContexts(this: import("../../driver").AndroidDriver, waitForWebviewMs?: number): Promise<import("../types").WebviewsMapping[]>;
/**
 * @this {AndroidDriver}
 * @param {import('../types').WebviewsMapping[]} webviewsMapping
 * @returns {string[]}
 */
export function assignContexts(this: import("../../driver").AndroidDriver, webviewsMapping: import("../types").WebviewsMapping[]): string[];
export class assignContexts {
    /**
     * @this {AndroidDriver}
     * @param {import('../types').WebviewsMapping[]} webviewsMapping
     * @returns {string[]}
     */
    constructor(this: import("../../driver").AndroidDriver, webviewsMapping: import("../types").WebviewsMapping[]);
    contexts: any[];
}
/**
 * @this {AndroidDriver}
 * @param {string} name
 * @param {import('../types').WebviewsMapping[]} webviewsMapping
 * @returns {Promise<void>}
 */
export function switchContext(this: import("../../driver").AndroidDriver, name: string, webviewsMapping: import("../types").WebviewsMapping[]): Promise<void>;
/**
 * @this {AndroidDriver}
 * @returns {string}
 */
export function defaultContextName(this: import("../../driver").AndroidDriver): string;
/**
 * @this {AndroidDriver}
 * @returns {string}
 */
export function defaultWebviewName(this: import("../../driver").AndroidDriver): string;
/**
 * @this {AndroidDriver}
 * @returns {boolean}
 */
export function isWebContext(this: import("../../driver").AndroidDriver): boolean;
/**
 * @this {AndroidDriver}
 * @returns {Promise<string>}
 */
export function getWindowHandle(this: import("../../driver").AndroidDriver): Promise<string>;
/**
 * @this {AndroidDriver}
 * @returns {Promise<string[]>}
 */
export function getWindowHandles(this: import("../../driver").AndroidDriver): Promise<string[]>;
/**
 * @this {AndroidDriver}
 * @param {string} handle
 * @returns {Promise<void>}
 */
export function setWindow(this: import("../../driver").AndroidDriver, handle: string): Promise<void>;
/**
 * Turn on proxying to an existing Chromedriver session or a new one
 *
 * @this {AndroidDriver}
 * @param {string} context
 * @param {import('../types').WebviewsMapping[]} webviewsMapping
 * @returns {Promise<void>}
 */
export function startChromedriverProxy(this: import("../../driver").AndroidDriver, context: string, webviewsMapping: import("../types").WebviewsMapping[]): Promise<void>;
export class startChromedriverProxy {
    /**
     * Turn on proxying to an existing Chromedriver session or a new one
     *
     * @this {AndroidDriver}
     * @param {string} context
     * @param {import('../types').WebviewsMapping[]} webviewsMapping
     * @returns {Promise<void>}
     */
    constructor(this: import("../../driver").AndroidDriver, context: string, webviewsMapping: import("../types").WebviewsMapping[]);
    chromedriver: any;
    proxyReqRes: any;
    proxyCommand: (<TReq = any, TRes = unknown>(url: string, method: import("@appium/types").HTTPMethod, body?: TReq) => Promise<TRes>) | undefined;
    jwpProxyActive: boolean;
}
/**
 * Stop proxying to any Chromedriver
 *
 * @this {AndroidDriver}
 * @returns {void}
 */
export function suspendChromedriverProxy(this: import("../../driver").AndroidDriver): void;
export class suspendChromedriverProxy {
    chromedriver: any;
    proxyReqRes: any;
    proxyCommand: any;
    jwpProxyActive: boolean;
}
/**
 * Handle an out-of-band Chromedriver stop event
 *
 * @this {AndroidDriver}
 * @param {string} context
 * @returns {Promise<void>}
 */
export function onChromedriverStop(this: import("../../driver").AndroidDriver, context: string): Promise<void>;
/**
 * Intentionally stop all the chromedrivers currently active, and ignore
 * their exit events
 *
 * @this {AndroidDriver}
 * @returns {Promise<void>}
 */
export function stopChromedriverProxies(this: import("../../driver").AndroidDriver): Promise<void>;
/**
 * @this {AndroidDriver}
 * @param {string} viewName
 * @returns {boolean}
 */
export function isChromedriverContext(this: import("../../driver").AndroidDriver, viewName: string): boolean;
/**
 * https://github.com/appium/appium/issues/20741
 *
 * @this {AndroidDriver}
 * @returns {Promise<void>}
 */
export function notifyBiDiContextChange(this: import("../../driver").AndroidDriver): Promise<void>;
/**
 * @this {AndroidDriver}
 * @returns {Promise<void>}
 */
export function startChromeSession(this: import("../../driver").AndroidDriver): Promise<void>;
export class startChromeSession {
    chromedriver: any;
    curContext: string;
    proxyReqRes: any;
    proxyCommand: (<TReq = any, TRes = unknown>(url: string, method: import("@appium/types").HTTPMethod, body?: TReq) => Promise<TRes>) | undefined;
    jwpProxyActive: boolean;
}
export type ADB = import("appium-adb").ADB;
export type AndroidDriver = import("../../driver").AndroidDriver;
//# sourceMappingURL=exports.d.ts.map