import type { Locator } from '@playwright/test';
import type { Role } from '../../../utils/test-role-utils';
import type { RowActionsConfiguration } from '../../common/RowActions.types';
import { ModalWindowConfiguration } from '../../common';
import type { RowActionsOrchestrator } from '../../shared/RowActionsOrchestrator';
export interface CardBlockRowActionsServiceDeps {
    getRole: () => Role;
    validateBlockParams: (blockKey: string, role: Role) => void;
    getConfig: (blockKey: string, role: Role) => RowActionsConfiguration | null;
    getRowActionButtons: (blockKey: string, rowLocator: Locator) => Record<string, Locator> | null;
    getMenuItems: (blockKey: string) => Record<string, Locator> | null;
    orchestrator: RowActionsOrchestrator;
    findModalWindowConfig: (blockKey: string, modalWindowKey: string) => ModalWindowConfiguration;
    confirmAction: () => Promise<void>;
}
/**
 * Сервис для работы с действиями над строками в таблицах блоков карточки.
 */
export declare class CardBlockRowActionsService {
    private readonly getRole;
    private readonly validateBlockParams;
    private readonly getConfig;
    private readonly getRowActionButtons;
    private readonly getMenuItems;
    private readonly orchestrator;
    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, logContext: string): Promise<boolean>;
    viewRow(blockKey: string, rowLocator: Locator, 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>;
}
