/** @packageDocumentation
 * @module ChildWindowManager
 */
import * as React from "react";
import { ChildWindowLocationProps, OpenChildWindowInfo } from "../framework/FrameworkChildWindows";
import { InternalChildWindowManager } from "./InternalChildWindowManager";
/** Supports opening a child browser window from the main application window. The child window is managed by the main application
 * and is running in the same security context. The application must deliver the html file iTwinPopup.html along side its index.html.
 * See also: [Child Window Manager]($docs/learning/ui/appui-react/ChildWindows.md)
 * @public
 * @deprecated in 3.7. Use `UiFramework.childWindows` property to access.
 * */
export declare class ChildWindowManager {
    private internal;
    /**
     * Override internal implementation for a mock
     * @internal For tests only.
     */
    mockInternal(internal: InternalChildWindowManager): void;
    get openChildWindows(): OpenChildWindowInfo[];
    /**
     * @deprecated in 3.7. Use `find` method.
     */
    findChildWindow(childWindowId: string | undefined): OpenChildWindowInfo | undefined;
    /**
     * @deprecated in 3.7. Use `findId` method.
     */
    findChildWindowId(contentWindow: Window | undefined | null): string | undefined;
    /** Close all child/pop-out windows. This typically is called when the frontstage is changed.
     * @deprecated in 3.7. Use `closeAll` method.
     */
    closeAllChildWindows(): void;
    /**
     * @deprecated in 3.7. Use `close` method.
     */
    closeChildWindow: (childWindowId: string, processWindowClose?: boolean) => boolean;
    /**
     * @deprecated in 3.7. Use `open` method.
     */
    openChildWindow(childWindowId: string, title: string, content: React.ReactNode, location: ChildWindowLocationProps, useDefaultPopoutUrl?: boolean): boolean;
    /**
     * Returns the OpenChildWindowInfo for the related id.
     * @param childWindowId Id of the window to retrieve.
     * @returns undefined if not found.
     */
    find(childWindowId: string | undefined): OpenChildWindowInfo | undefined;
    /**
       * Return the childWindowId of the provided window.
       * @param contentWindow Window element to identify
       * @returns undefined if not found
       */
    findId(contentWindow: Window | undefined | null): string | undefined;
    /** Close all child/pop-out windows. This typically is called when the frontstage is changed. */
    closeAll(): void;
    /**
       * Close a specific child window.
       * @param childWindowId Id of the window to close
       * @param processWindowClose should the `close` method be called on the closing window. (defaults to true)
       * @returns false if the window could not be found.
       */
    close: (childWindowId: string, processWindowClose?: boolean) => boolean;
    /**
       * Open a new child window.
       * @param childWindowId Id to assign to the newly created window.
       * @param title Title to display on the window.
       * @param content ReactNode to be rendered in the window.
       * @param location Position and size information
       * @param useDefaultPopoutUrl use "/iTwinPopup.html" as the window Url, "" otherwise.
       * @returns true if the window is opened successfully.
       */
    open(childWindowId: string, title: string, content: React.ReactNode, location: ChildWindowLocationProps, useDefaultPopoutUrl?: boolean): boolean;
}
//# sourceMappingURL=ChildWindowManager.d.ts.map