import * as React from 'react';
import type { SwappedItemRange } from '../../hooks/useDraggableWithDomApi';
import type { HasRootRef } from '../../types';
import { type RemovableProps } from '../Removable/Removable';
import { type SimpleCellProps } from '../SimpleCell/SimpleCell';
import { CellCheckbox } from './CellCheckbox/CellCheckbox';
export interface CellProps extends Omit<SimpleCellProps, 'getRootRef'>, RemovableProps, HasRootRef<HTMLDivElement> {
    /**
     * Режим отображения ячейки:
     *
     * - "removable": добавляется кнопка для удаления
     * - "selectable": добавляется чекбокс для выбора.
     */
    mode?: 'removable' | 'selectable';
    /**
     * В режиме перетаскивания ячейка перестает реагировать на нажатие, то есть при нажатии переданный `onClick` вызываться не будет.
     */
    draggable?: boolean;
    /**
     * Имя для `input` в режиме `selectable`.
     */
    name?: string;
    /**
     * В режиме `selectable` реагирует на входящие значения пропса `cheсked`, как зависящий напрямую от входящего значения.
     */
    checked?: boolean;
    /**
     * В режиме `selectable` реагирует на входящие значения пропса `defaultChecked` как неконтролируемый компонент.
     */
    defaultChecked?: boolean;
    /**
     * Обработчик, срабатывающий при завершении перетаскивания.
     * **Важно:** режим перетаскивания не меняет порядок ячеек в DOM. В обработчике есть объект с полями `from` и `to`.
     * Эти числа нужны для того, чтобы разработчик понимал, с какого индекса на какой произошел переход. В песочнице
     * есть рабочий пример с обработкой этих чисел и перерисовкой списка.
     */
    onDragFinish?: (swappedItemRange: SwappedItemRange) => void;
    /**
     * Текст для кнопки перетаскивания ячейки.
     */
    draggerLabel?: string;
    /**
     * Передает атрибут `data-testid` для кнопки перетаскивания ячейки.
     */
    draggerTestId?: string;
}
/**
 * @see https://vkui.io/components/cell
 */
export declare const Cell: React.FC<CellProps> & {
    Checkbox: typeof CellCheckbox;
};
//# sourceMappingURL=Cell.d.ts.map