import { type ButtonHTMLAttributes, type ReactNode } from 'react';
import type { Column } from '@tanstack/react-table';
import { type TestableProps } from '../../../utils/testId';
interface TableColumnMenuContextValue {
column: Column;
}
export declare const useTableColumnMenuContext: () => TableColumnMenuContextValue;
export interface TableColumnMenuProps extends Omit, 'color' | 'type' | 'children'>, TestableProps {
/** Column from the header render context. */
column: Column;
/**
* When omitted, the menu renders the default set of items (Move left / Move
* right / Sort submenu / Pin / Hide) the same way the design system has
* always rendered them. When provided, the consumer takes full control of
* the menu's contents — typically a mix of the exported item sub-components
* (`TableColumnMenuSortItem`, `TableColumnMenuPinItem`, etc.) for per-item
* analytics, or arbitrary `DropdownMenuItem`s for custom actions.
*/
children?: ReactNode;
}
/**
* Per-column header menu ("…" trigger) with an optional consumer-controlled
* item set. The trigger `