import { MouseEvent, ReactNode } from 'react';
/**
* an item in the ActionBar component
*/
export interface ActionItem {
/**
* optional id, used if title is not set
*/
id?: string;
/**
* title - if a string, will use the built-in components, else can prvide custom React component
*/
node: ReactNode;
/**
* if the title is a string and href is set will use a default `` component
*/
href?: string;
/**
* if the title is a string and href is not set, onClick will be used on a `` component
*/
onClick?: (e: MouseEvent) => void | boolean;
/**
* hide an action item
*/
hidden?: boolean;
/**
* optional order, if not provided will use the natural order of items from right to left
*/
order?: number;
/**
* optional group. ActionItems in the same group will not be separated by horizonal margin
*/
group?: string | number;
/**
* optional label visible to screen readers for aria accessibility.
*/
'aria-label'?: string;
/**
* panel for Tab-enabled UI, where an action item can open up a panel with tabs
* in this case, the onClick function can return true/false whether to open up the panel
*/
panel?: ReactNode;
}
export declare type ActionItems = ActionItem[];
/**
* returns a sorted and grouped list of the actions
*/
export declare const getSortedActions: (actions: ActionItems) => ActionItems;
/**
* returns a sorted and grouped list of all the actions that have a panel property
*/
export declare const getSortedPanels: (actions: ActionItems) => ActionItems;