import { Locator } from '@playwright/test';
import { Role } from '../../../utils/test-role-utils';
import type { FormFieldsLocators, FormFieldsData } from '../../BasePage/helpers/FormHelper/FormHelper.types';
import type { ModalWindowConfiguration } from '../../common/Modal.types';
interface GridFormDeps {
    getRole: () => Role;
    validateRole: (role: Role) => void;
    getModalWindowConfigurations: (role: Role) => ModalWindowConfiguration[];
    findModalWindowConfig: (modalWindowKey?: string, addButtonKey?: string) => ModalWindowConfiguration | undefined;
    getButton: (key: string) => Locator | null;
    openModalWindow: (triggerButton: Locator) => Promise<void>;
    getModalWindowBody: (modalWindowKey?: string) => Locator;
    getModalWindowButtons: (modalWindowKey?: string) => Record<string, Locator> | null;
    getModalWindowFormLocators: (modalWindowKey?: string) => FormFieldsLocators;
    performModalTerminalActionToCloseModalWindow: (button: Locator, body: Locator, stepName: string) => Promise<void>;
    verifyTableRow: (rowKey: string, expectedRowData: Record<string, string>, isFirstRow: boolean, onRowFound?: (row: Locator) => void) => Promise<void>;
    formHelperFillFormFields: (data: {
        textFieldsData?: Record<string, string>;
        comboboxFieldsData?: Record<string, string | {
            inputValue: string;
            selectValue: string;
        }>;
        fileFieldsData?: Record<string, string>;
        radioButtonsData?: string[];
        checkboxesData?: Record<string, boolean>;
        toggleButtonsData?: Record<string, boolean | 'Yes' | 'No'>;
        daDataFieldsData?: Record<string, {
            inputValue: string;
            selectValue: string;
            expectedValue?: string;
        }>;
        multiComboboxFieldsData?: Record<string, {
            inputValue: string;
            selectValue: string;
        }[]>;
    }, locators: FormFieldsLocators, context: string) => Promise<void>;
    tryFindErrorMessage: () => Promise<string[] | void>;
    waitForLoadState: () => Promise<void>;
}
export declare class GridFormService {
    private readonly deps;
    constructor(deps: GridFormDeps);
    private validateParams;
    private filterFormFields;
    private openAndFillModal;
    fillFormAndAddRow(triggerButtonKey: string, rowKey: string, expectedRowData: Record<string, string>, isFirstRow: boolean | undefined, saveButtonKey: string | undefined, modalWindowKey: string | undefined, formFields: FormFieldsData, onRowVerified?: (row: Locator) => void): Promise<void>;
}
export {};
