/** @packageDocumentation
 * @module Admin
 */
import * as React from "react";
import type { XAndY } from "@itwin/core-geometry";
import type { AbstractMenuItemProps, AbstractToolbarProps, DialogLayoutDataProvider, DialogProps, OnCancelFunc, OnItemExecutedFunc, OnNumberCommitFunc, OnValueCommitFunc, Primitives, PropertyDescription, PropertyRecord } from "@itwin/appui-abstract";
import { RelativePosition, UiAdmin } from "@itwin/appui-abstract";
import type { KeyinEntry } from "../keyins/Keyins";
import { KeyinFieldLocalization } from "../keyins/Keyins";
/** Subclass of `UiAdmin` in `@itwin/core-frontend` to be used to initialize `IModelApp`.
 *
 * This implementation uses themed react components that blends in AppUI look and feel.
 *
 * ```ts
 * await IModelApp.startup({
 *   uiAdmin: new FrameworkUiAdmin()
 * });
 * ```
 * @public
 */
export declare class FrameworkUiAdmin extends UiAdmin {
    private _localizedKeyinPreference;
    /**
     * @deprecated in 4.11.0. Gathering and filtering of keyins is now left up to the user.
     */
    get localizedKeyinPreference(): KeyinFieldLocalization;
    set localizedKeyinPreference(preference: KeyinFieldLocalization);
    /** Gets the cursor X and Y position, which is mouseEvent.pageX and mouseEvent.pageY.
     * @deprecated in 4.11.0. Please use {@link CursorInformation.cursorPosition}
     */
    get cursorPosition(): XAndY;
    /** Determines if focus is set to Home
     * @deprecated in 4.11.0. Please use {@link UiFramework.keyboardShortcuts().isFocusOnHome}
     */
    get isFocusOnHome(): boolean;
    /** Sets focus to Home
     * @deprecated in 4.11.0. Please use {@link UiFramework.keyboardShortcuts().setFocusToHome}
     */
    setFocusToHome(): void;
    /** Show a context menu at a particular location.
     * @param items Properties of the menu items to display.
     * @param location Location of the context menu, relative to the origin of htmlElement or the overall window.
     * @param htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.
     * @return true if the menu was displayed, false if the menu could not be displayed.
     * @deprecated in 4.11.0. Use {@link UiFramework.openContextMenu}
     */
    showContextMenu(items: AbstractMenuItemProps[], location: XAndY, htmlElement?: HTMLElement): boolean;
    /**
     * @deprecated in 4.11.0. Construct your own {@link KeyinEntry[]} via {@link @itwin/core-frontend#IModelApp.tools.getToolList}.
     */
    getKeyins(): KeyinEntry[];
    /** Show the Key-in Palette to display key-in from all registered Tools.
     * @param htmlElement The HTMLElement that anchors the Popup. If undefined, the location is relative to the overall window.
     * @return true if the Command Palette was displayed, false if it could not be displayed.
     * @deprecated in 4.11.0. Use {@link UiFramework.showKeyinPalette}. Please note, the use of feature flags to control whether the KeyinPalette can be opened has been deprecated.
     */
    showKeyinPalette(htmlElement?: HTMLElement): boolean;
    /**
     * Hides the Key-in Palette.
     * @deprecated in 4.11.0. Use {@link UiFramework.hideKeyinPalette}
     */
    hideKeyinPalette(): boolean;
    /** Show a Toolbar at a particular location.
     * @param toolbarProps Properties of the Toolbar to display.
     * @param location Location of the Toolbar, relative to the origin of htmlElement or the overall window.
     * @param offset Offset of the Toolbar from the location.
     * @param onItemExecuted Function invoked after a Toolbar item is executed
     * @param onCancel Function invoked when the Escape key is pressed or a click occurs outside the Toolbar
     * @param relativePosition Position relative to the given location. Defaults to TopRight.
     * @param htmlElement The HTMLElement that anchors the Toolbar. If undefined, the location is relative to the overall window.
     * @return true if the Toolbar was displayed, false if the Toolbar could not be displayed.
     * @deprecated in 4.11.0. Please use {@link UiFramework.showToolbar}.
     */
    showToolbar(toolbarProps: AbstractToolbarProps, location: XAndY, offset: XAndY, onItemExecuted: OnItemExecutedFunc, onCancel: OnCancelFunc, relativePosition?: RelativePosition, htmlElement?: HTMLElement): boolean;
    /** Hides the toolbar.
     * @deprecated in 4.11.0. Please use {@link UiFramework.hideToolbar}.
     */
    hideToolbar(): boolean;
    /** Show a menu button at a particular location. A menu button opens a context menu.
     * @param id Id of the menu button. Multiple menu buttons may be displayed.
     * @param menuItemsProps Properties of the menu items to display.
     * @param location Location of the context menu, relative to the origin of htmlElement or the window.
     * @param htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.
     * @return true if the menu was displayed, false if the menu could not be displayed.
     * @deprecated in 4.11.0. Please use {@link UiFramework.showMenuButton}.
     */
    showMenuButton(id: string, menuItemsProps: AbstractMenuItemProps[], location: XAndY, htmlElement?: HTMLElement): boolean;
    /** Hides a menu button.
     * @param id Id of the menu button. Multiple menu buttons may be displayed.
     * @return true if the menu was hidden, false if the menu could not be hidden.
     * @deprecated in 4.11.0. Please use {@link UiFramework.hideMenuButton}.
     */
    hideMenuButton(id: string): boolean;
    /** Show a calculator at a particular location.
     * @param initialValue Value initially displayed in the calculator.
     * @param resultIcon Icon displayed to the left of the value.
     * @param location Location of the calculator, relative to the origin of htmlElement or the window.
     * @param onOk Function called when the OK button or the Enter key is pressed.
     * @param onCancel Function called when the Cancel button or the Escape key  is pressed.
     * @param htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.
     * @return true if the menu was displayed, false if the menu could not be displayed.
     * @deprecated in 4.11.0. Use {@link UiFramework.showCalculator}.
     */
    showCalculator(initialValue: number, resultIcon: string, location: XAndY, onOk: OnNumberCommitFunc, onCancel: OnCancelFunc, htmlElement?: HTMLElement): boolean;
    /** Hides the calculator.
     * @deprecated in 4.11.0. Use {@link UiFramework.hideCalculator}.
     */
    hideCalculator(): boolean;
    /** Show an input editor for an angle value at a particular location.
     * @param initialValue Value initially displayed in the editor.
     * @param location Location of the editor, relative to the origin of htmlElement or the window.
     * @param onCommit Function called when the OK button or the Enter key is pressed.
     * @param onCancel Function called when the Cancel button or the Escape key  is pressed.
     * @param htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.
     * @return true if the editor was displayed, false if the editor could not be displayed.
     * @deprecated in 4.11.0. Use {@link UiFramework.showAngleEditor}.
     */
    showAngleEditor(initialValue: number, location: XAndY, onCommit: OnNumberCommitFunc, onCancel: OnCancelFunc, htmlElement?: HTMLElement): boolean;
    /** Show an input editor for a length value at a particular location.
     * @param initialValue Value initially displayed in the editor.
     * @param location Location of the editor, relative to the origin of htmlElement or the window.
     * @param onCommit Function called when the OK button or the Enter key is pressed.
     * @param onCancel Function called when the Cancel button or the Escape key  is pressed.
     * @param htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.
     * @return true if the editor was displayed, false if the editor could not be displayed.
     * @deprecated in 4.11.0. Use {@link UiFramework.showDimensionEditor("length")}.
     */
    showLengthEditor(initialValue: number, location: XAndY, onCommit: OnNumberCommitFunc, onCancel: OnCancelFunc, htmlElement?: HTMLElement): boolean;
    /** Show an input editor for a height value at a particular location.
     * @param initialValue Value initially displayed in the editor.
     * @param location Location of the editor, relative to the origin of htmlElement or the window.
     * @param onCommit Function called when the OK button or the Enter key is pressed.
     * @param onCancel Function called when the Cancel button or the Escape key  is pressed.
     * @param htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.
     * @return true if the editor was displayed, false if the editor could not be displayed.
     * @deprecated in 4.11.0. Use {@link UiFramework.showDimensionEditor("height")}.
     */
    showHeightEditor(initialValue: number, location: XAndY, onCommit: OnNumberCommitFunc, onCancel: OnCancelFunc, htmlElement?: HTMLElement): boolean;
    /** Show an input editor for a primitive value at a particular location.
     * @param initialValue Value initially displayed in the editor.
     * @param propertyDescription Description of the primitive value property
     * @param location Location of the editor, relative to the origin of htmlElement or the window.
     * @param onCommit Function called when the OK button or the Enter key is pressed.
     * @param onCancel Function called when the Cancel button or the Escape key  is pressed.
     * @param htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.
     * @return true if the editor was displayed, false if the editor could not be displayed.
     */
    showInputEditor(initialValue: Primitives.Value, propertyDescription: PropertyDescription, location: XAndY, onCommit: OnValueCommitFunc, onCancel: OnCancelFunc, htmlElement?: HTMLElement): boolean;
    /** Hides the input editor.*/
    hideInputEditor(): boolean;
    /** Show an HTML element at a particular location.
     * @param displayElement The HTMLElement to display
     * @param location Location of the display element, relative to the origin of htmlElement or the window
     * @param offset Offset of the display element from the location
     * @param onCancel Function invoked when the Escape key is pressed or a click occurs outside the display element
     * @param relativePosition Position relative to the given location. Defaults to TopRight.
     * @param anchorElement The HTMLElement that anchors the display element. If undefined, the location is relative to the overall window.
     * @return true if the display element was displayed, false if the display element could not be displayed.
     * @deprecated in 4.11.0. Use {@link UiFramework.showComponent}
     */
    showHTMLElement(displayElement: HTMLElement, location: XAndY, offset: XAndY, onCancel: OnCancelFunc, relativePosition?: RelativePosition, anchorElement?: HTMLElement): boolean;
    /**
     *  Hides the HTML Element.
     * @deprecated in 4.11.0. Use {@link UiFramework.hideComponent}
     */
    hideHTMLElement(): boolean;
    /** Show a Card containing content, a title and a toolbar at a particular location.
     * @param content The HTMLElement of the content to display
     * @param title Title to display at the top of the card.
     * @param toolbarProps Properties of the Toolbar to display.
     * @param location Location of the Card, relative to the origin of htmlElement or the window.
     * @param offset Offset of the Card from the location.
     * @param onItemExecuted Function invoked after a Toolbar item is executed
     * @param onCancel Function invoked when the Escape key is pressed or a click occurs outside the Card
     * @param relativePosition Position relative to the given location. Defaults to TopRight.
     * @param anchorElement The HTMLElement that anchors the Card. If undefined, the location is relative to the overall window.
     * @return true if the Card was displayed, false if the Card could not be displayed.
     */
    showCard(content: HTMLElement, title: string | PropertyRecord | undefined, toolbarProps: AbstractToolbarProps | undefined, location: XAndY, offset: XAndY, onItemExecuted: OnItemExecutedFunc, onCancel: OnCancelFunc, relativePosition?: RelativePosition, anchorElement?: HTMLElement): boolean;
    /** Show a Card containing React-based content, a title and a toolbar at a particular location.
     * @param content The React node of the content to display
     * @param title Title to display at the top of the card.
     * @param toolbarProps Properties of the Toolbar to display.
     * @param location Location of the Card, relative to the origin of htmlElement or the window.
     * @param offset Offset of the Card from the location.
     * @param onItemExecuted Function invoked after a Toolbar item is executed
     * @param onCancel Function invoked when the Escape key is pressed or a click occurs outside the Card
     * @param relativePosition Position relative to the given location. Defaults to TopRight.
     * @param anchorElement The HTMLElement that anchors the Card. If undefined, the location is relative to the overall window.
     * @return true if the Card was displayed, false if the Card could not be displayed.
     */
    showReactCard(content: React.ReactNode, title: string | PropertyRecord | undefined, toolbarProps: AbstractToolbarProps | undefined, location: XAndY, offset: XAndY, onItemExecuted: OnItemExecutedFunc, onCancel: OnCancelFunc, relativePosition?: RelativePosition, anchorElement?: HTMLElement): boolean;
    /**
     * Hides the Card.
     * */
    hideCard(): boolean;
    /** Opens a Tool Settings Ui popup at a particular location.
     * @param dataProvider The DialogLayoutDataProvider for the tool settings popup dialog.
     * @param location Location of the tool settings, relative to the origin of anchorElement or the window
     * @param offset Offset of the tool settings from the location
     * @param onCancel Function invoked when the Escape key is pressed or a click occurs outside the tool settings
     * @param relativePosition Position relative to the given location. Defaults to TopRight.
     * @param anchorElement The HTMLElement that anchors the tool settings. If undefined, the location is relative to the overall window.
     * @return true if the tool settings were displayed, false if the tool settings could not be displayed.
     */
    openToolSettingsPopup(dataProvider: DialogLayoutDataProvider, location: XAndY, offset: XAndY, onCancel: OnCancelFunc, relativePosition?: RelativePosition, anchorElement?: HTMLElement): boolean;
    /** Closes the Tool Settings Ui popup. */
    closeToolSettingsPopup(): boolean;
    /** Opens a Dialog and automatically populates it using the properties defined by the UiDataProvider.
     * @param uiDataProvider The UiDataProvider for the tool settings
     * @param title Specify title for dialog.
     * @param isModal Specify if the dialog is opened as a modal or modeless.
     * @param id Id of the dialog that is used to close it.
     * @param optionalProps Optional props for Dialog construction.
     * @return true if the tool settings were displayed, false if the tool settings could not be displayed.
     */
    openDialog(uiDataProvider: DialogLayoutDataProvider, title: string, isModal: boolean, id: string, optionalProps?: DialogProps): boolean;
    /** Closes the Tool Settings Ui popup.*/
    closeDialog(dialogId: string): boolean;
}
//# sourceMappingURL=FrameworkUiAdmin.d.ts.map