/** @packageDocumentation
 * @module ToolSettings
 */
import { InteractiveTool } from "@itwin/core-frontend";
import { DialogItem, UiEvent } from "@itwin/appui-abstract";
import { SyncToolSettingsPropertiesEvent } from "../../framework/FrameworkToolSettings";
/** Tool Settings Manager class. Used to generate UI components for Tool Settings.
 * @internal
 */
export declare class InternalToolSettingsManager {
    private static _useDefaultToolSettingsProvider;
    private static _toolIdForToolSettings;
    private static _activeToolLabel;
    private static _activeToolDescription;
    private static syncToolSettingsProperties;
    private static reloadToolSettingsProperties;
    private static dispatchSyncUiEvent;
    /** Initializes the ToolSettingsManager
     * @internal
     */
    static initialize(): void;
    /** clear cached Tool Settings properties. */
    static clearToolSettingsData(): void;
    /** Cache Tool Settings properties */
    static initializeToolSettingsData(toolSettingsProperties: DialogItem[] | undefined, toolId?: string, toolLabel?: string, toolDescription?: string): boolean;
    /** Set of data used in Tool Settings for the specified tool. The tool specified should be the "active" tool.
     */
    static initializeDataForTool(tool: InteractiveTool): void;
    /** Returns the toolSettings properties that can be used to populate the tool settings widget. */
    static get toolSettingsProperties(): DialogItem[];
    /** Returns true if the Tool Settings are to be auto populated from the toolSettingsProperties.
     * The setter is chiefly for testing.
     */
    static get useDefaultToolSettingsProvider(): boolean;
    static set useDefaultToolSettingsProvider(useDefaultToolSettings: boolean);
    /** The name of the active tool. This is typically the flyover text specified for the tool. */
    static get activeToolLabel(): string;
    static set activeToolLabel(label: string);
    /** Returns the description of the active tool. */
    static get activeToolDescription(): string;
    /** Get ToolSettings Properties sync event. */
    static readonly onSyncToolSettingsProperties: SyncToolSettingsPropertiesEvent;
    static readonly onReloadToolSettingsProperties: UiEvent<void>;
    /** 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(): string;
    static focusIntoToolSettings(): boolean;
}
//# sourceMappingURL=InternalToolSettingsManager.d.ts.map