import type { Header, RowData, Table } from "@tanstack/react-table";
import React from "react";
import type { ColumnOption } from "./utils/types.js";
export interface HeaderMenuFeatureFlags {
	/**
	* Whether sorting menu items should be shown.
	* When false, hides "Sort ascending", "Sort descending", "Sort on multiple columns", and "Clear all sorts".
	*/
	showSortingItems?: boolean;
	/**
	* Whether pinning menu items should be shown.
	* When false, hides "Pin column" and "Unpin Column".
	*/
	showPinningItems?: boolean;
	/**
	* Whether resize menu item should be shown.
	* When false, hides "Reset Column Size".
	*/
	showResizeItem?: boolean;
	/**
	* Whether column config menu item should be shown.
	* When false, hides "Configure Columns".
	*/
	showConfigItem?: boolean;
}
interface TableHeaderWithPopoverProps<TData extends RowData> {
	table: Table<TData>;
	header: Header<TData, unknown>;
	isColumnPinned: false | "left" | "right";
	onResetSize?: () => void;
	columnOptions?: ColumnOption[];
	featureFlags?: HeaderMenuFeatureFlags;
	onOpenColumnConfig?: () => void;
	onOpenMultiSort?: () => void;
	onColumnHeaderClick?: (columnId: string) => void;
}
export declare function TableHeaderWithPopover<TData extends RowData>({ header, table, isColumnPinned, onResetSize, columnOptions, featureFlags, onOpenColumnConfig, onOpenMultiSort, onColumnHeaderClick }: TableHeaderWithPopoverProps<TData>): React.ReactElement;
export {};
