import type { TablePlugin } from '../../types';
/**
 * Config for {@link useTableStickyColumns}. Provide at least one of
 * `startKeys` / `endKeys` to pin columns.
 *
 * @remarks Every field is optional by design, so `useTableStickyColumns({})`
 * compiles and is an intentional no-op that pins nothing — the hook returns a
 * plugin that passes every cell through untouched. This lets callers compute
 * the config conditionally (e.g. `endKeys: enabled ? ['notes'] : undefined`)
 * without branching on whether to install the plugin at all.
 */
export interface UseTableStickyColumnsConfig {
    /**
     * Column keys pinned to the START (inline-start / left in LTR) edge — the
     * contiguous run from the first column through the last listed key.
     */
    startKeys?: string[];
    /**
     * Column keys pinned to the END (inline-end / right in LTR) edge — the
     * contiguous run from the first listed key through the last column.
     */
    endKeys?: string[];
}
export declare function useTableStickyColumns<T extends Record<string, unknown>>(config: UseTableStickyColumnsConfig): TablePlugin<T>;
//# sourceMappingURL=useTableStickyColumns.d.ts.map