import type { Locator } from '@playwright/test';
import type { Role } from '../../../utils/test-role-utils';
import type { RowActionsConfiguration } from '../../common/RowActions.types';
import type { ModalWindowConfiguration } from '../../common';
import type { RowActionsOrchestrator } from '../../shared/RowActionsOrchestrator';
interface GridRowActionsServiceDeps {
    getRole: () => Role;
    validateRole: (role: Role) => void;
    getConfig: (role: Role) => RowActionsConfiguration | null;
    getRowActionButtons: (rowLocator: Locator) => Record<string, Locator> | null;
    getMenuItems: () => Record<string, Locator> | null;
    orchestrator: RowActionsOrchestrator;
    findModalWindowConfig: (modalWindowKey: string) => ModalWindowConfiguration;
    confirmAction: () => Promise<void>;
}
/**
 * Сервис для работы с действиями над строками грида.
 * Инкапсулирует проверку доступности действий, открытие меню, клики и активацию/деактивацию.
 */
export declare class GridRowActionsService {
    private readonly getRole;
    private readonly validateRole;
    private readonly getConfig;
    private readonly getRowActionButtons;
    private readonly getMenuItems;
    private readonly orchestrator;
    private readonly confirmAction;
    constructor(deps: GridRowActionsServiceDeps);
    isRowActionAvailable(actionKey: string, logContext: string): boolean;
    openRowActionsMenu(rowLocator: Locator, logContext: string): Promise<void>;
    closeRowActionsMenu(): Promise<void>;
    clickRowAction(rowLocator: Locator, actionKey: string, logContext: string): Promise<void>;
    checkRowActions(rowLocator: Locator, logContext: string): Promise<void>;
    editRow(rowLocator: Locator, logContext: string): Promise<boolean>;
    viewRow(rowLocator: Locator, logContext: string): Promise<boolean>;
    deleteRow(rowLocator: Locator, confirmDelete: boolean, logContext: string): Promise<boolean>;
    toggleActivationForGrid(rowLocator: Locator, action: 'activate' | 'deactivate', actionType: 'menu' | 'button' | undefined, requireConfirmation: boolean | undefined, logContext: string): Promise<void>;
}
export {};
