"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
/** @packageDocumentation
 * @module ToolSettings
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.ToolSettingsManager = void 0;
const InternalToolSettingsManager_1 = require("./InternalToolSettingsManager");
/** Tool Settings Manager class. Used to generate UI components for Tool Settings.
 * @public
 * @deprecated in 3.7. Use `UiFramework.toolSettings` property.
 */
class ToolSettingsManager {
    /** Initializes the ToolSettingsManager
     * @deprecated in 3.7. This is called internally.
     */
    static initialize() {
        return InternalToolSettingsManager_1.InternalToolSettingsManager.initialize();
    }
    /** clear cached Tool Settings properties. */
    static clearToolSettingsData() {
        return InternalToolSettingsManager_1.InternalToolSettingsManager.clearToolSettingsData();
    }
    /** Cache Tool Settings properties */
    static initializeToolSettingsData(toolSettingsProperties, toolId, toolLabel, toolDescription) {
        return InternalToolSettingsManager_1.InternalToolSettingsManager.initializeToolSettingsData(toolSettingsProperties, toolId, toolLabel, toolDescription);
    }
    /** Set of data used in Tool Settings for the specified tool. The tool specified should be the "active" tool.
     */
    static initializeDataForTool(tool) {
        return InternalToolSettingsManager_1.InternalToolSettingsManager.initializeDataForTool(tool);
    }
    /** Returns the toolSettings properties that can be used to populate the tool settings widget. */
    static get toolSettingsProperties() {
        return InternalToolSettingsManager_1.InternalToolSettingsManager.toolSettingsProperties;
    }
    /** Returns true if the Tool Settings are to be auto populated from the toolSettingsProperties.
     * The setter is chiefly for testing.
     */
    static get useDefaultToolSettingsProvider() { return InternalToolSettingsManager_1.InternalToolSettingsManager.useDefaultToolSettingsProvider; }
    static set useDefaultToolSettingsProvider(useDefaultToolSettings) { InternalToolSettingsManager_1.InternalToolSettingsManager.useDefaultToolSettingsProvider = useDefaultToolSettings; }
    /** The name of the active tool. This is typically the flyover text specified for the tool. */
    static get activeToolLabel() { return InternalToolSettingsManager_1.InternalToolSettingsManager.activeToolLabel; }
    static set activeToolLabel(label) { InternalToolSettingsManager_1.InternalToolSettingsManager.activeToolLabel = label; }
    /** Returns the description of the active tool. */
    static get activeToolDescription() { return InternalToolSettingsManager_1.InternalToolSettingsManager.activeToolDescription; }
    /** Get ToolSettings Properties sync event. */
    static get onSyncToolSettingsProperties() { return InternalToolSettingsManager_1.InternalToolSettingsManager.onSyncToolSettingsProperties; }
    static get onReloadToolSettingsProperties() { return InternalToolSettingsManager_1.InternalToolSettingsManager.onReloadToolSettingsProperties; }
    /** Gets the Id of the active tool. If a tool is not active, blank is returned.
     * @return  Id of the active tool, or blank if one is not active.
     */
    static get toolIdForToolSettings() {
        return InternalToolSettingsManager_1.InternalToolSettingsManager.toolIdForToolSettings;
    }
    static focusIntoToolSettings() {
        return InternalToolSettingsManager_1.InternalToolSettingsManager.focusIntoToolSettings();
    }
}
exports.ToolSettingsManager = ToolSettingsManager;
//# sourceMappingURL=ToolSettingsManager.js.map