import * as _heroui_system from '@heroui/system';
import { HTMLHeroUIProps } from '@heroui/system';
import { ReactNode } from 'react';
import { GridNode } from '@react-types/grid';
import { ValuesType } from './use-table.js';
import '@react-types/table';
import '@heroui/theme';
import '@react-stately/virtualizer';
import '@react-types/shared';
import '@react-stately/table';
import '@react-aria/table';
import '@heroui/react-utils';
import '@heroui/checkbox';

type SortIconProps = {
    "aria-hidden"?: boolean;
    "data-direction"?: "ascending" | "descending";
    "data-visible"?: boolean | "true" | "false";
    className?: string;
};
interface TableColumnHeaderProps<T = object> extends HTMLHeroUIProps<"th"> {
    slots: ValuesType["slots"];
    state: ValuesType["state"];
    classNames?: ValuesType["classNames"];
    /**
     * Custom Icon to be displayed in the table header - overrides the default chevron one
     */
    sortIcon?: ReactNode | ((props: SortIconProps) => ReactNode);
    /**
     * The table node to render.
     */
    node: GridNode<T>;
}
declare const TableColumnHeader: _heroui_system.InternalForwardRefRenderFunction<"th", TableColumnHeaderProps<object>, never>;

export { type SortIconProps, type TableColumnHeaderProps, TableColumnHeader as default };
