/** @packageDocumentation
 * @module ToolSettings
 */
import type * as React from "react";
import type { UiDataProvider } from "@itwin/appui-abstract";
import type { ConfigurableCreateInfo } from "../configurableui/ConfigurableUiControl.js";
import { ConfigurableUiControl, ConfigurableUiControlType } from "../configurableui/ConfigurableUiControl.js";
import type { ToolSettingsEntry } from "../widget-panels/ToolSettings.js";
import type { SyncToolSettingsPropertiesEventArgs } from "../framework/FrameworkToolSettings.js";
/** 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
 * @deprecated in 4.16.0. Extends a deprecated class {@link ConfigurableUiControl}.
 */
export declare class ToolUiProvider extends ConfigurableUiControl {
    private _toolSettingsNode;
    private _horizontalToolSettingNodes;
    protected _dataProvider: UiDataProvider | undefined;
    constructor(info: ConfigurableCreateInfo, options: any);
    get uniqueId(): string;
    /** 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(): React.ReactNode;
    set toolSettingsNode(r: React.ReactNode);
    /** An array of entries to load into the horizontal tool settings
     * @public
     */
    get horizontalToolSettingNodes(): ToolSettingsEntry[] | undefined;
    set horizontalToolSettingNodes(r: ToolSettingsEntry[] | undefined);
    /** The UiDataProvider class */
    get dataProvider(): UiDataProvider | undefined;
    set dataProvider(d: UiDataProvider | undefined);
    /** Gets the type of ConfigurableUiControl, which is 'ToolUiProvider' in this case */
    getType(): ConfigurableUiControlType;
    syncToolSettingsProperties(_args: SyncToolSettingsPropertiesEventArgs): void;
    reloadPropertiesFromTool(): void;
}
//# sourceMappingURL=ToolUiProvider.d.ts.map