import { type RefObject } from "react";
import type { ColumnCountByTableWidth, TableColumn } from "../types.js";
type Props<TColumn extends TableColumn> = {
    columns: TColumn[] | undefined;
    columnCountByTableWidth: ColumnCountByTableWidth;
    tableContainerRef: RefObject<HTMLDivElement | null>;
    hasItemNumberColumn?: boolean;
    hasMoreDetailsColumn?: boolean;
};
/**
 * Hook to handle dropping columns for smaller screens.
 *
 * @param columns - Array of columns to display, column must satisfy TableColumn. The columns will be displayed in the order they are provided.
 * @param columnCountByTableWidth - Object that specifies how many columns to show at different screen widths
 * @param tableContainerRef - Ref to the table container element
 * @param hasIndexColumn - When true, adds an "index" column with the index of the row as the _first column_. This column is exempt from being dropped.
 * @param hasMoreDetailsColumn - When true, adds a "more details" column as the _last column_. This column is exempt from being dropped. This column has no header label by default.
 */
export declare function useColumnPriority<TColumn extends TableColumn>(props: Props<TColumn>): TColumn[];
export declare function getColumnCount(parentElementWidth: number, columnCountByTableWidth: Record<number, number>): number;
export {};
//# sourceMappingURL=useColumnPriority.d.ts.map