/*---------------------------------------------------------------------------------------------
 * 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 { ConfigurableUiControl, ConfigurableUiControlType, } from "../configurableui/ConfigurableUiControl";
/**
 * ToolUiProvider provides the Tool Settings and/or Tool Assistance UI for a tool.
 * The ToolUiProvider is registered for the tool id via UiFramework.controls.register.
 * @public
 */
export class ToolUiProvider extends ConfigurableUiControl {
    constructor(info, options) {
        super(info, options);
    }
    get uniqueId() {
        return `${this.constructor.name}[${super.uniqueId}]`;
    }
    /** A React node that holds tool settings when shown in a rectangular area (i.e. not in Horizontal area at top of application window.) */
    get toolSettingsNode() {
        return this._toolSettingsNode;
    }
    set toolSettingsNode(r) {
        this._toolSettingsNode = r;
    }
    /** An array of entries to load into the horizontal tool settings
     * @public
     */
    get horizontalToolSettingNodes() {
        return this._horizontalToolSettingNodes;
    }
    set horizontalToolSettingNodes(r) {
        this._horizontalToolSettingNodes = r;
    }
    /** The UiDataProvider class */
    get dataProvider() {
        return this._dataProvider;
    }
    set dataProvider(d) {
        this._dataProvider = d;
    }
    /** Gets the type of ConfigurableUiControl, which is 'ToolUiProvider' in this case */
    getType() {
        return ConfigurableUiControlType.ToolUiProvider;
    }
    syncToolSettingsProperties(_args // eslint-disable-line deprecation/deprecation
    ) { }
    reloadPropertiesFromTool() { }
}
//# sourceMappingURL=ToolUiProvider.js.map