import { type TableColumn } from '@mezzanine-ui/core/table'; import type { ActionColumnConfig } from './typings'; export interface FixedOffsetInfo { /** CSS offset value for the column */ offset: number; /** Fixed side: 'start' or 'end' */ side: 'start' | 'end'; } export interface UseTableFixedOffsetsReturn { /** Get offset info for a specific column by key */ getColumnOffset: (key: string) => FixedOffsetInfo | null; /** Get offset info for drag or pin handle column */ getDragOrPinHandleOffset: () => FixedOffsetInfo | null; /** Get offset info for selection column */ getSelectionOffset: () => FixedOffsetInfo | null; /** Get offset info for expansion column */ getExpansionOffset: () => FixedOffsetInfo | null; /** Get offset info for toggleable column */ getToggleableOffset: () => FixedOffsetInfo | null; /** Get offset info for collectable column */ getCollectableOffset: () => FixedOffsetInfo | null; /** Check if a column should show shadow based on scroll position */ shouldShowShadow: (key: string, scrollLeft: number, containerWidth: number) => boolean; } export interface UseTableFixedOffsetsOptions { /** Column definitions */ columns: TableColumn[]; /** Action column configuration */ actionConfig: ActionColumnConfig; /** Get computed width for a column (from columnState) */ getResizedColumnWidth?: (key: string) => number | undefined; } export declare function useTableFixedOffsets(props: UseTableFixedOffsetsOptions): UseTableFixedOffsetsReturn;