import { DockItem } from './types';
import { MenuItem, MenuItemOptions } from 'primereact/menuitem';

/**
 * Custom hook to manage the overflow behavior of dock items in a button dock.
 *
 * Observes the width of the buttons group container of the dock and determines which items can
 * be displayed and which should be moved to an overflow menu, based on available space.
 *
 * @param dockItems - Array of `DockItem` objects representing the items to be displayed in the dock.
 *
 * @returns An object containing:
 * - `dockRef`: Ref to the dock container element.
 * - `visibleItems`: Array of dock items that are currently visible in the dock.
 * - `overflowMenuItems`: Array of menu items to be displayed in the overflow menu.
 *
 * @remarks
 * - Only dock items with `group === 2` and `show === true` are considered for display.
 * - The hook automatically updates the visible and overflow items when the dock container is resized.
 *
 * @example
 * const { dockRef, visibleItems, overflowMenuItems } = useDockOverflow({ dockItems });
 */
export declare const useDockOverflow: ({ dockItems }: {
    dockItems: DockItem[];
}) => {
    dockRef: import('react').RefObject<HTMLDivElement>;
    visibleItems: DockItem[];
    overflowMenuItems: {
        id: string;
        label: any;
        command: () => void;
        template: (menuActionItem: MenuItem, options: MenuItemOptions) => import("react/jsx-runtime").JSX.Element;
    }[];
};
