/*!
 * Copyright 2020-2021 VMware, Inc.
 * SPDX-License-Identifier: BSD-2-Clause
 */
import { BaseWidgetObject, FindableWidget, FindElementOptions } from '../widget-object';
export interface FindCypressWidgetOptions extends FindElementOptions {
    ancestor?: string;
    options?: {
        timeout: number;
    };
}
/**
 * Knows how to find and construct Cypress widget objects within the DOM.
 *
 * T is the type of data that this will output when you call `unwrap`.
 * In almost all cases, this should be a `Cypress.Chainable`.
 * We chose to provide this as a generic because for reasons seen in
 * [this PR](https://github.com/vmware/vmware-cloud-director-ui-components/pull/248)
 * we could not load the Cypress types in our library.
 */
export declare class CypressWidgetObjectFinder<T> {
    /**
     * Finds a single widget object
     *
     * @param widgetConstructor - The constructor of the widget to use
     * @param findOptions - Options when finding an element
     *
     */
    find<W extends BaseWidgetObject<T>>(widgetConstructor: FindableWidget<T, W>, findOptions?: FindCypressWidgetOptions): W;
}
