/** @packageDocumentation
 * @module Toolbar
 */
import type * as React from "react";
import type { ActionButton, CommonToolbarItem, CustomButtonDefinition, GroupButton } from "@itwin/appui-abstract";
import type { AnyItemDef } from "../shared/AnyItemDef";
import { CustomItemDef } from "../shared/CustomItemDef";
import type { ToolbarActionItem, ToolbarCustomItem, ToolbarGroupItem, ToolbarItem } from "./ToolbarItem";
/** Helper functions for defining a Toolbar items used in `Toolbar`, `ToolbarComposer` and `UiItemsProvider`.
 * @public
 */
export declare class ToolbarHelper {
    /** Construct ToolbarCustomItem definitions given a CustomItemDef. */
    static createCustomDefinitionToolbarItem(itemPriority: number, itemDef: CustomItemDef, overrides?: Partial<CustomButtonDefinition>): ToolbarCustomItem;
    /** Construct ToolbarActionItem and ToolbarGroupItem definitions given an array of ItemDefs. */
    static constructChildToolbarItems(itemDefs: AnyItemDef[]): Array<ToolbarActionItem | ToolbarGroupItem>;
    private static getStringOrConditionalString;
    static getIconReactNode(item: ActionButton | GroupButton): React.ReactNode;
    /** Helper method to creates a generic toolbar item entry */
    static createToolbarItemFromItemDef(itemPriority: number, itemDef: AnyItemDef, overrides?: Partial<CommonToolbarItem>): ToolbarItem;
    /**
     * Helper method to creates a generic toolbar item entry list.
     */
    static createToolbarItemsFromItemDefs(itemDefs: AnyItemDef[], startingItemPriority?: number, overrides?: Partial<CommonToolbarItem>): ToolbarItem[];
}
//# sourceMappingURL=ToolbarHelper.d.ts.map