import type { ColumnDefinition, ColumnDefinitions } from "../root/DataGridTable.types";
type UseColumnOptions = {
    stickyColumns?: {
        start?: 1;
        end?: 1;
    };
    hasSelection: boolean;
    hasDetailsPanel: boolean;
    layout: "fixed" | "auto";
    columnDisplay?: {
        id: string;
        visible: boolean | "always";
    }[];
};
type StickyStartState = {
    selection: boolean;
    expansion: boolean;
    selectionOffset: number;
    firstColumnOffset: number;
};
type UseColumnOptionsResult<T> = {
    columns: {
        isSticky: "start" | "end" | false;
        isStickyLast?: boolean;
        stickyLeftOffset?: number;
        colDef: ColumnDefinition<T>;
    }[];
    stickyStart: StickyStartState;
    totalColSpan: number;
};
declare function useColumnOptions<T>(columnDefinitions: ColumnDefinitions<T>, options: UseColumnOptions): UseColumnOptionsResult<T>;
export { useColumnOptions };
export type { StickyStartState, UseColumnOptionsResult };
