import { type ColumnPinningState, type Updater } from "@tanstack/react-table";
import { type TableColumnPinningState } from "../lib/columnPinning";
/**
 * Аргументы управления состоянием закрепления колонок.
 */
export interface UseTableColumnPinningArgs {
    /**
     * Внешнее controlled-состояние закрепления.
     */
    columnPinning?: TableColumnPinningState;
    /**
     * Стартовое uncontrolled-состояние закрепления.
     */
    defaultColumnPinning?: TableColumnPinningState;
    /**
     * Вызывается после любого изменения left-pinning state.
     */
    onColumnPinningChange?: (state: TableColumnPinningState) => void;
}
/**
 * Результат работы hook управления column pinning.
 */
export interface UseTableColumnPinningResult {
    /**
     * Актуальный pinning-state в формате TanStack Table.
     */
    columnPinning: ColumnPinningState;
    /**
     * Обработчик изменения pinning-state из TanStack Table.
     */
    onColumnPinningChange: (updater: Updater<ColumnPinningState>) => void;
}
/**
 * Инкапсулирует controlled/uncontrolled-паттерн для left column pinning.
 */
export declare function useTableColumnPinning({ columnPinning, defaultColumnPinning, onColumnPinningChange }: UseTableColumnPinningArgs): UseTableColumnPinningResult;
//# sourceMappingURL=useTableColumnPinning.d.ts.map