import type { Locator } from '@playwright/test';
import type { Role } from '../../../utils/test-role-utils';
import type { GridRowActionsConfiguration } from '../../BasePage/helpers/RowActionsHelper/RowActionsHelper.types';
interface RowActionsBase {
    openRowActionsMenuBase(menuButtonLocator: Locator): Promise<void>;
    closeRowActionsMenuBase(): Promise<void>;
    clickRowActionBase(actionKey: string, rowActionsConfig: GridRowActionsConfiguration, rowActionButtons: Record<string, Locator> | null, rowActionMenuItems: Record<string, Locator> | null): Promise<void>;
    checkRowActionsBase(rowActionsConfig: GridRowActionsConfiguration, rowActionButtons: Record<string, Locator> | null, rowActionMenuItems: Record<string, Locator> | null): Promise<void>;
    editRowBase(rowActionsConfig: GridRowActionsConfiguration, rowActionButtons: Record<string, Locator> | null, rowActionMenuItems: Record<string, Locator> | null, modalWindowBody?: Locator): Promise<boolean>;
    viewRowBase(rowActionsConfig: GridRowActionsConfiguration, rowActionButtons: Record<string, Locator> | null, rowActionMenuItems: Record<string, Locator> | null, modalWindowBody?: Locator): Promise<boolean>;
    deleteRowBase(rowActionsConfig: GridRowActionsConfiguration, rowActionButtons: Record<string, Locator> | null, rowActionMenuItems: Record<string, Locator> | null, confirmDelete: boolean): Promise<boolean>;
}
export interface CardBlockRowActionsServiceDeps {
    getRole: () => Role;
    validateBlockParams: (blockKey: string, role: Role) => void;
    getConfig: (blockKey: string, role: Role) => GridRowActionsConfiguration | null;
    getRowActionButtons: (blockKey: string, rowLocator: Locator) => Record<string, Locator> | null;
    getMenuItems: (blockKey: string) => Record<string, Locator> | null;
    base: RowActionsBase;
    findModalWindowConfig: (blockKey: string, modalWindowKey?: string) => {
        modalWindowBody: Locator;
    } | undefined;
    confirmAction: () => Promise<void>;
}
/**
 * Сервис для работы с действиями над строками в таблицах блоков карточки.
 * Инкапсулирует проверку доступности действий, открытие меню, клики и активацию/деактивацию.
 */
export declare class CardBlockRowActionsService {
    private readonly getRole;
    private readonly validateBlockParams;
    private readonly getConfig;
    private readonly getRowActionButtons;
    private readonly getMenuItems;
    private readonly base;
    private readonly findModalWindowConfig;
    private readonly confirmAction;
    constructor(deps: CardBlockRowActionsServiceDeps);
    isRowActionAvailable(blockKey: string, actionKey: string, logContext: string): boolean | undefined;
    openRowActionsMenu(blockKey: string, rowLocator: Locator, logContext: string): Promise<void>;
    closeRowActionsMenu(): Promise<void>;
    clickRowAction(blockKey: string, rowLocator: Locator, actionKey: string, logContext: string): Promise<void>;
    checkGridRowActions(blockKey: string, rowLocator: Locator, logContext: string): Promise<void>;
    editRow(blockKey: string, rowLocator: Locator, modalWindowKey: string | undefined, logContext: string): Promise<boolean>;
    viewRow(blockKey: string, rowLocator: Locator, modalWindowKey: string | undefined, logContext: string): Promise<boolean>;
    deleteRow(blockKey: string, rowLocator: Locator, confirmDelete: boolean, logContext: string): Promise<boolean>;
    toggleActivationForCard(blockKey: string, rowLocator: Locator, action: 'activate' | 'deactivate', actionType: 'menu' | 'button' | undefined, requireConfirmation: boolean | undefined, logContext: string): Promise<void>;
}
export {};
