/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
/** @packageDocumentation
 * @module Utilities
 */
import { InternalUiShowHideManager as internal, UiShowHideSettingsProvider } from "./InternalUiShowHideManager";
// reexporting to ensure no breaking changes in barrel exports, remove when removing deprecated.
export { UiShowHideSettingsProvider };
/** Maintains Ui Show/Hide state. The `Ui` includes widgets, panels and the status bar.
 * @public
 * @deprecated in 3.7. Use `UiFramework.visibility` property.
 */
export class UiShowHideManager {
    /** Determines if the Ui is visible */
    static get isUiVisible() {
        return internal.isUiVisible;
    }
    static set isUiVisible(visible) {
        internal.isUiVisible = visible;
    }
    /** @internal */
    static setAutoHideUi(value) {
        return internal.setAutoHideUi(value);
    }
    /** @internal */
    static setUseProximityOpacity(value) {
        return internal.setUseProximityOpacity(value);
    }
    /** @internal */
    static setSnapWidgetOpacity(value) {
        return internal.setSnapWidgetOpacity(value);
    }
    /** Determines whether the `auto-hide Ui` feature is on. Defaults to false.
     * When true, the Ui automatically hides after a few seconds of inactivity.
     */
    static get autoHideUi() {
        return internal.autoHideUi;
    }
    static set autoHideUi(autoHide) {
        internal.autoHideUi = autoHide;
    }
    /** Determines whether the widget panels are shown and hidden. Defaults to false. */
    static get showHidePanels() {
        return internal.showHidePanels;
    }
    static set showHidePanels(showHide) {
        internal.showHidePanels = showHide;
    }
    /** Determines whether the status bar is shown and hidden. Defaults to false. */
    static get showHideFooter() {
        return internal.showHideFooter;
    }
    static set showHideFooter(showHide) {
        internal.showHideFooter = showHide;
    }
    /** Determines the amount of inactivity time before the Ui is hidden. Defaults to 3.5 seconds. */
    static get inactivityTime() {
        return internal.inactivityTime;
    }
    static set inactivityTime(time) {
        internal.inactivityTime = time;
    }
    /** Determines whether the proximity of the mouse should alter the opacity of a toolbar. Defaults to true. */
    static get useProximityOpacity() {
        return internal.useProximityOpacity;
    }
    static set useProximityOpacity(value) {
        internal.useProximityOpacity = value;
    }
    /** Determines whether the opacity of a toolbar should snap. Defaults to false. */
    static get snapWidgetOpacity() {
        return internal.snapWidgetOpacity;
    }
    static set snapWidgetOpacity(value) {
        internal.snapWidgetOpacity = value;
    }
    /** Handler for when a Frontstage is ready */
    static handleFrontstageReady() {
        // istanbul ignore next
        return internal.handleFrontstageReady();
    }
    /** Handler for when the mouse moves over the content area */
    static handleContentMouseMove(_event) {
        return internal.handleContentMouseMove(_event);
    }
    /** Handler for when the mouse enters a widget */
    static handleWidgetMouseEnter(_event) {
        return internal.handleWidgetMouseEnter(_event);
    }
    /** Shows the Ui and resets the inactivity timer */
    static showUiAndResetTimer() {
        return internal.showUiAndResetTimer();
    }
    /** Shows the Ui and cancels the inactivity timer */
    static showUiAndCancelTimer() {
        return internal.showUiAndCancelTimer();
    }
    /** @internal */
    static terminate() {
        return internal.terminate();
    }
}
//# sourceMappingURL=UiShowHideManager.js.map