import { default as React } from 'react';
import { default as IDataTableCellProps } from '../IDataTableCellProps';
/**
 * Custom hook to encapsulate DataTable cell logic.
 *
 * @template T - The type of the data record
 * @param props - The cell properties from the parent component
 * @returns Object containing cell styles, handlers, and render functions
 *
 * @example
 * ```tsx
 * const {
 *   cellClasses,
 *   newStyle,
 *   canResize,
 *   isResizing,
 *   handleClick,
 *   handleResize,
 *   renderCellContent,
 *   setNodeRef,
 * } = useDataTableCell(props);
 * ```
 */
export default function useDataTableCell<T extends object>(props: IDataTableCellProps<T>): {
    cellClasses: string;
    newStyle: React.CSSProperties;
    canResize: boolean;
    isResizing: boolean;
    handleClick: () => void;
    handleResize: (e: React.MouseEvent | React.TouchEvent) => void;
    renderCellContent: () => string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null | undefined;
    setNodeRef: (node: HTMLElement | null) => void;
};
