import { OptionalSearchParameters, Point, Region, Size, WindowElementQuery } from "../objects"; import { WindowElement } from "./window-element.interface"; import { PointResultFindInput, RegionResultFindInput, WindowElementResultFindInput } from "./index"; export interface WindowInterface { getTitle(): Promise; getRegion(): Promise; move(newOrigin: Point): Promise; resize(newSize: Size): Promise; focus(): Promise; getElements(maxElements?: number): Promise; find(searchInput: WindowElementResultFindInput | Promise): Promise; findAll(searchInput: WindowElementResultFindInput | Promise): Promise; waitFor(searchInput: WindowElementQuery | Promise, timeoutMs?: number, updateInterval?: number, params?: OptionalSearchParameters): Promise; on(searchInput: WindowElementQuery, callback: WindowElementCallback): void; } export type WindowedFindInput = RegionResultFindInput | WindowElementResultFindInput | PointResultFindInput; export type WindowedFindResult = Region | Point | WindowElement; export type WindowElementCallback = (target: WindowElement) => void | Promise;