import { Locator } from '@playwright/test';
import type { ModalWindowConfiguration } from '../../common/Modal.types';
export interface ModalLocatorsProvider {
    getButtons(modalWindowKey?: string): Record<string, Locator> | null;
    getTextFields(modalWindowKey?: string): Record<string, Locator> | null;
}
/**
 * Сервис для работы с модальными окнами в грид-страницах.
 * Инкапсулирует открытие модалки и проверки видимости элементов по конфигурации.
 */
export declare class GridModalService {
    private readonly modalBody;
    private readonly locators;
    constructor(modalBody: Locator, locators: ModalLocatorsProvider);
    /**
     * Открывает модальное окно по кнопке-триггеру.
     * Вызывает переданный callback для проверки отсутствия ошибок после открытия.
     */
    openModalWindow(triggerButton: Locator, checkNoError: () => Promise<string[] | void>, logContext: string): Promise<void>;
    /**
     * Проверяет видимость кнопок в модальном окне.
     */
    checkButtons(config: ModalWindowConfiguration, modalWindowKey: string | undefined, logContext: string): Promise<void>;
    /**
     * Проверяет видимость и редактируемость полей в модальном окне.
     */
    checkFields(config: ModalWindowConfiguration, modalWindowKey: string | undefined, logContext: string): Promise<void>;
}
