import type { ReactNode } from 'react';
import type { ConfirmActionProps } from '../../ConfirmAction';
import type { MenuItemProps } from '../../MenuItem';
export type SecondaryAction<TItem> = MenuItemProps & {
    /**
     * Название действия
     */
    name: string;
    /**
     * Иконка действия
     */
    icon?: ReactNode;
    /**
     * Флаг показа выпадающего списка при клике
     */
    nested?: false;
    /**
     * Если `true`, при клике на кнопку будет вызываться подтверждение действия
     */
    needConfirm?: boolean;
    /**
     * Поясняющий текст для подтверждения действия
     */
    confirmText?: ConfirmActionProps['text'];
    /**
     * Параметры кнопки подтверждения действия
     */
    confirmButtonProps?: ConfirmActionProps['confirmButtonProps'];
    /**
     * Если true, блокирует взаимодействие с actions
     */
    isBlockingOperation?: boolean;
    /**
     * Причина блокировки действия
     */
    disabledReason?: string;
    /**
     * Обработчик действия
     */
    onClick?: (item: TItem) => void;
    /**
     * Если true, происходит загрузка
     */
    loading?: boolean;
};
export type CardGridSecondaryActionsProps<TItem> = {
    /**
     * Доп. действия отображаются в виде списка элементов меню (`MenuItem`)
     */
    actions?: SecondaryAction<TItem>[];
    /**
     *  Флаг состояния загрузки, применяется когда actions подгружаются динамически
     */
    isLoading?: boolean;
    /**
     * Заголовок для мобильного drawer
     */
    mobileTitle: string;
};
