/** @packageDocumentation
 * @module Toolbar
 */
import * as React from "react";
import { ActionButton, CommonToolbarItem, CustomButtonDefinition, GroupButton, OnItemExecutedFunc, ToolbarItem } from "@itwin/appui-abstract";
import { CustomToolbarItem } from "@itwin/components-react";
import { AnyItemDef } from "../shared/AnyItemDef";
import { CustomItemDef } from "../shared/CustomItemDef";
/** Helper functions for defining an ToolbarComposer.
 * @public
 */
export declare class ToolbarHelper {
    /** Construct CustomToolbarItem definitions given a CustomItemDef. */
    static createCustomDefinitionToolbarItem(itemPriority: number, itemDef: CustomItemDef, overrides?: Partial<CustomButtonDefinition>): CustomToolbarItem;
    /** Construct ActionButton and GroupButton definitions given an array to ItemDefs. */
    static constructChildToolbarItems(itemDefs: AnyItemDef[]): Array<ActionButton | GroupButton>;
    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<ToolbarItem>): CommonToolbarItem;
    static createToolbarItemsFromItemDefs(itemDefs: AnyItemDef[], startingItemPriority?: number, overrides?: Partial<ToolbarItem>): CommonToolbarItem[];
    static createNodeForToolbarItem(item: CommonToolbarItem, onItemExecuted?: OnItemExecutedFunc): React.ReactNode;
    /** CustomToolbarButton type guard.
     * @internal
     */
    static isCustomToolbarButton: (item: CommonToolbarItem) => item is CustomToolbarItem;
}
//# sourceMappingURL=ToolbarHelper.d.ts.map