import { default as React } from 'react';
import { default as IDataTableHeadCellProps } from '../IDataTableHeadCellProps';
/**
 * Hook to manage the state and logic for a DataTable head cell.
 * Handles column resizing, sorting, drag-and-drop, and derived state calculations.
 */
export default function useDataTableHeadCell<T extends object>(props: IDataTableHeadCellProps<T>): {
    state: {
        column: import('../../../..').ITableColumnProps<T>;
        columnAlign: "center" | "end" | "start" | undefined;
        headerDef: import('@tanstack/react-table').ColumnDefTemplate<import('@tanstack/react-table').HeaderContext<T, unknown>> | undefined;
        headerContext: import('@tanstack/react-table').HeaderContext<T, unknown>;
        isSelectionColumn: boolean;
        isActionColumn: boolean;
        isSorting: boolean;
        isDragging: boolean;
        isBorderVisible: boolean | undefined;
        canResize: boolean;
        clickable: boolean;
        sorting: import('../../..').SortingState | undefined;
        columnActionEnabled: boolean | undefined;
        draggableEnabled: boolean | undefined;
        colSpan: number;
        isResizing: boolean;
    };
    style: React.CSSProperties;
    handlers: {
        setNodeRef: (node: HTMLElement | null) => void;
        handleHeaderClick: () => void;
        handleResize: (e: React.MouseEvent | React.TouchEvent) => void;
        handleResizeClick: (e: React.MouseEvent) => void;
    };
    dndProps: {
        draggableAttributes: import('@dnd-kit/core').DraggableAttributes;
        draggableListeners: import('@dnd-kit/core/dist/hooks/utilities').SyntheticListenerMap | undefined;
    };
};
