import type { WidgetHeaderConfig } from '../../../domains/widgets/shared/widget-header/types.js';
export type UseWithExcelDownloadMenuParams = {
    /** Base header config. */
    baseHeaderConfig: WidgetHeaderConfig;
    /** Whether Excel download menu items are shown. */
    enabled: boolean;
    /** Triggers Excel download; receives `mergeRows` flag (Angular: `buildRequest(..., mergeRows)`). */
    onDownloadExcel: (mergeRows: boolean) => void;
};
/**
 * Appends **Download → Excel File → (Repeat rows | Merge rows)** to the widget header menu when enabled.
 *
 * If a **Download** group (`widget-download`) already exists (e.g. after CSV), the **Excel File** branch is appended to its `items` (any prior `excelFileMenuItem` entry is removed first so it is not duplicated).
 * Otherwise a new **Download** group containing only the Excel subtree is appended.
 *
 * @param params.baseHeaderConfig - Base header config.
 * @param params.enabled - When false, returns `baseHeaderConfig` unchanged.
 * @param params.onDownloadExcel - Invoked with `mergeRows` false for "Repeat rows", true for "Merge rows".
 * @returns Header config to pass to {@link WidgetContainer}
 */
export declare function useWithExcelDownloadMenuItem({ baseHeaderConfig, enabled, onDownloadExcel, }: UseWithExcelDownloadMenuParams): WidgetHeaderConfig;
