/*---------------------------------------------------------------------------------------------
* 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
 */
import { InternalToolSettingsManager as internal } from "./InternalToolSettingsManager";
/** Tool Settings Manager class. Used to generate UI components for Tool Settings.
 * @public
 * @deprecated in 3.7. Use `UiFramework.toolSettings` property.
 */
export class ToolSettingsManager {
    /** Initializes the ToolSettingsManager
     * @deprecated in 3.7. This is called internally.
     */
    static initialize() {
        return internal.initialize();
    }
    /** clear cached Tool Settings properties. */
    static clearToolSettingsData() {
        return internal.clearToolSettingsData();
    }
    /** Cache Tool Settings properties */
    static initializeToolSettingsData(toolSettingsProperties, toolId, toolLabel, toolDescription) {
        return internal.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 internal.initializeDataForTool(tool);
    }
    /** Returns the toolSettings properties that can be used to populate the tool settings widget. */
    static get toolSettingsProperties() {
        return internal.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 internal.useDefaultToolSettingsProvider; }
    static set useDefaultToolSettingsProvider(useDefaultToolSettings) { internal.useDefaultToolSettingsProvider = useDefaultToolSettings; }
    /** The name of the active tool. This is typically the flyover text specified for the tool. */
    static get activeToolLabel() { return internal.activeToolLabel; }
    static set activeToolLabel(label) { internal.activeToolLabel = label; }
    /** Returns the description of the active tool. */
    static get activeToolDescription() { return internal.activeToolDescription; }
    /** Get ToolSettings Properties sync event. */
    static get onSyncToolSettingsProperties() { return internal.onSyncToolSettingsProperties; }
    static get onReloadToolSettingsProperties() { return internal.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 internal.toolIdForToolSettings;
    }
    static focusIntoToolSettings() {
        return internal.focusIntoToolSettings();
    }
}
//# sourceMappingURL=ToolSettingsManager.js.map