/** @packageDocumentation * @module Common */ import * as React from "react"; import type { ToolType } from "@itwin/core-frontend"; /** A {@link @itwin/core-frontend#ToolType} with an icon element specified as a React element. */ type ToolWithIcon = T & { iconElement: React.ReactElement; }; /** Utilities related to {@link @itwin/core-frontend#Tool} class. * @public */ export declare namespace ToolUtilities { /** * Defines an icon property for a specified {@link @itwin/core-frontend#ToolType}. * * ```tsx * ToolUtilities.defineIcon(MyTool, ); * ``` * * Alternatively, consumers can define the `iconElement` property directly on the tool class. * ```tsx * class MyTool extends Tool { * public static iconElement = ; * } * ``` */ function defineIcon(toolType: T, iconElement: React.ReactElement): ToolWithIcon; /** Type guard for a {@link @itwin/core-frontend#ToolType} with an `iconElement` property. */ function isWithIcon(toolType: T): toolType is ToolWithIcon; } export {}; //# sourceMappingURL=ToolUtilities.d.ts.map