import React, { PropsWithChildren, ForwardedRef } from 'react';
import { ButtonProps } from '@carbon/react';
import { CarbonIconType } from '@carbon/icons-react/lib/CarbonIcon';
interface Action extends ButtonProps<React.ElementType> {
    id?: string;
    key: string;
    iconDescription: string;
    label: string;
    onClick?: () => void;
    renderIcon: CarbonIconType;
}
interface ActionBarProps extends PropsWithChildren {
    /**
     * Specifies the action bar items. Each item is specified as an object
     * with required fields: key for array rendering, renderIcon, iconDescription and
     * label to provide the icon to display,
     * and optional 'onClick' to receive notifications when the button is clicked.
     * Additional fields in the object will be passed to the
     * Button component, and these can include 'disabled', 'ref', 'className',
     * and any other Button props.
     *
     * Note that the Button props 'kind', 'size',
     * 'tooltipPosition', 'tooltipAlignment' and 'type' are ignored, as these
     * cannot be used for an action bar item.
     *
     * Carbon Button API https://react.carbondesignsystem.com/?path=/docs/components-button--default#component-api
     */
    actions?: readonly Action[];
    /**
     * className
     */
    className?: string;
    /**
     * maxVisible : Maximum action bar items visible before going into the overflow menu
     */
    maxVisible?: number;
    /**
     * class name applied to the overflow options
     */
    menuOptionsClass?: string;
    /**
     * onItemCountChange - event reporting maxWidth
     */
    onWidthChange?: (sizes?: {
        minWidth?: number;
        maxWidth?: number;
    }) => void;
    /**
     * overflowAriaLabel label for open close button overflow used for action bar items that do nto fit.
     */
    overflowAriaLabel: string;
    /**
     * overflowMenuRef for the overflow menu width that is needed to calculate the width of the action bar with overflow
     */
    overflowMenuRef?: ForwardedRef<HTMLDivElement>;
    /**
     * align tags to right of available space
     */
    rightAlign?: boolean;
}
/**
 * The ActionBar is used internally by the PageHeader to wrap ActionBarItems.
 */
export declare const ActionBar: React.ForwardRefExoticComponent<ActionBarProps & React.RefAttributes<HTMLDivElement>>;
export {};
//# sourceMappingURL=ActionBar.d.ts.map