/** @packageDocumentation
 * @module Item
 */
import * as React from "react";
import { CommandHandler, OnItemExecutedFunc } from "@itwin/appui-abstract";
import { Orientation, SizeProps } from "@itwin/core-react";
import { ItemDefBase } from "./ItemDefBase";
import { ItemProps } from "./ItemProps";
/** Abstract base class that is used by classes to execute an action when pressed.
 * @public
 */
export declare abstract class ActionButtonItemDef extends ItemDefBase {
    private _onItemExecuted?;
    /** Command Handler for the action button */
    protected _commandHandler?: CommandHandler;
    /** Parameters passed to the Command Handler */
    parameters?: any;
    /** Size of the action button, as set by handleSizeKnown */
    size?: SizeProps;
    /** The default button size for all action buttons */
    static defaultButtonSize: number;
    constructor(itemProps: ItemProps, onItemExecuted?: OnItemExecutedFunc);
    /** Called when the action button is invoked by a click or touch */
    execute(): void;
    /** Called when the size of the action button is initialized and the size is known */
    handleSizeKnown: (size: SizeProps) => void;
    /** Determines the dimension in a given orientation */
    getDimension(orientation: Orientation): number;
    /** @internal */
    static getRandomId(): string;
    /** @internal */
    getKey: (index?: number | undefined) => string;
    /** @internal */
    toolbarReactNode(index?: number): React.ReactNode;
}
//# sourceMappingURL=ActionButtonItemDef.d.ts.map