import * as React from 'react';
import type { HTMLAttributesWithRootRef } from '../../types';
export interface RemovableProps {
/**
* Текст кнопки удаления ячейки. Визуально скрыт везде, кроме iOS. На iOS появляется в выезжающей кнопке для удаления ячейки.
*/
removePlaceholder?: React.ReactNode;
/**
* Обработчик, срабатывающий при нажатии на контрол удаления.
*/
onRemove?: (e: React.MouseEvent, rootEl?: HTMLElement | null) => void;
/**
* Передает атрибут `data-testid` для кнопки, которая активирует кнопку удаления (iOS only).
*/
toggleButtonTestId?: string;
/**
* Передает атрибут `data-testid` для кнопки удаления.
*/
removeButtonTestId?: string;
/**
* Блокировка взаимодействия с компонентом.
*/
disabled?: boolean;
}
export interface RemovableIosRenderProps {
/**
* Показывает состояние Removable на платформе iOS при нажатии на иконку удаления.
* Для имитации поведения на iOS при нажатии на иконку удаления самого удаление не происходит,
* контент сдвигается влево и справа выезжает настоящая кнопка "Удалить".
* Когда контент сдвинут `isRemoving = true`.
*/
isRemoving: boolean;
}
interface RemovableOwnProps extends Omit, 'children'>, RemovableProps {
/**
* Расположение кнопки удаления.
*/
align?: 'start' | 'center';
/**
* Скрывает кнопку, но оставляет отступ.
* @since 5.4.0
*/
indent?: boolean;
/**
* Убирает базовые отступы для базовой платформы.
*/
noPadding?: boolean;
/**
* Содержимое. Можно передать функцию для отрисовки.
*/
children?: React.ReactNode | ((renderProps: RemovableIosRenderProps) => React.ReactNode);
}
export declare const Removable: ({ children, onRemove, removePlaceholder, align, indent, toggleButtonTestId, removeButtonTestId, disabled, noPadding, ...restProps }: RemovableOwnProps) => React.ReactNode;
export {};
//# sourceMappingURL=Removable.d.ts.map