import { type ElementType } from 'react';
import type { MainAction, SecondaryAction } from '../../types';
type UseActionsStateParams<TMainActionComponent extends ElementType, TSecondaryActionComponent extends ElementType> = {
    /**
     * Основные действия
     */
    main?: MainAction<TMainActionComponent>[];
    /**
     * Второстепенные действия, спрятанные за троеточием
     */
    secondary?: SecondaryAction<TSecondaryActionComponent>[];
};
/**
 * Хук, который определяет, следует ли отключить действие,
 * если в списке основных или второстепенных действий есть загружаемая
 * блокирующая операция.
 *
 * @template TMainActionComponent - Тип основного действия.
 * @template TSecondaryActionComponent - Тип второстепенного действия.
 *
 * @param {Object} params - Параметры хука.
 * @param {Array<TMainActionComponent>} params.main - Список основных действий.
 * @param {Array<TSecondaryActionComponent>} params.secondary - Список
 *   второстепенных действий.
 *
 * @returns Объект с флагом:
 * @returns {boolean} disabledAction - `true`, если хотя бы одно действие с
 *   `isBlockingOperation` находится в загрузке, иначе `false`.
 */
export declare const useActionsState: <TMainActionComponent extends ElementType = ElementType, TSecondaryActionComponent extends ElementType = ElementType>({ main, secondary, }: UseActionsStateParams<TMainActionComponent, TSecondaryActionComponent>) => {
    disabledAction: boolean;
};
export {};
