import type OpenFin from "@openfin/core";
import type { IRect } from "../models/IRect";
import type { IWebDriverWindow } from "../models/IWebDriverWindow";
/**
 * BaseWebDriverWindow shared methods.
 */
export declare abstract class BaseWebDriverWindow<T> implements Partial<IWebDriverWindow> {
    /**
     * The handle of the window.
     */
    readonly handle: string;
    /**
     * The title of the window.
     */
    readonly title: string;
    /**
     * The url of the window.
     */
    readonly url: string;
    /**
     * The identity of the component in the window.
     */
    readonly identity: OpenFin.Identity | undefined;
    /**
     * The node web driver to make the chromedriver calls with.
     */
    protected readonly _client: T;
    /**
     * Create a new instance of BaseWebDriverWindow.
     * @param client The client to use for chromedriver calls.
     * @param handle The handle of the window.
     * @param title The title of the window.
     * @param url The url of the window.
     * @param identity The identity of the component in the window.
     */
    constructor(client: T, handle: string, title: string, url: string, identity: OpenFin.Identity | undefined);
    /**
     * Get the window information.
     * @returns The size, position and state of the window.
     */
    info(): Promise<(IRect & {
        isShowing: boolean;
        state: "minimized" | "maximized" | "normal";
    }) | undefined>;
}
