import type { Locator, Page } from '@playwright/test';
import type { FormFieldsData, FormFieldsLocators, FormFieldsValues } from '../../../common/FormFields.types';
type SelectOption = {
    selectValue: string;
    valueForSearch?: string;
};
/**
 * Публичный фасад заполнения и проверки форм.
 */
export declare class FormHelper {
    private readonly fillers;
    private readonly assertions;
    /**
     * @param page — страница Playwright
     */
    constructor(page: Page);
    fillTextField(fieldKey: string, value: string, locators: FormFieldsLocators, context?: string): Promise<void>;
    selectComboboxValue(fieldKey: string, value: SelectOption, locators: FormFieldsLocators, context?: string): Promise<void>;
    selectMultiComboboxValues(fieldKey: string, options: SelectOption[], locators: FormFieldsLocators, context?: string): Promise<void>;
    fillDaDataField(fieldKey: string, inputValue: string, selectValue: string, expectedValue: string | undefined, locators: FormFieldsLocators, context?: string): Promise<void>;
    setToggle(fieldKey: string, desiredState: boolean | 'Yes' | 'No', locators: FormFieldsLocators, context?: string): Promise<void>;
    setCheckbox(checkboxKey: string, checked: boolean, checkboxes: Record<string, Locator>): Promise<void>;
    selectRadioButton(radioKey: string, radioButtons: Record<string, Locator>): Promise<void>;
    uploadFileByFieldKey(fieldKey: string, filePath: string, locators: FormFieldsLocators, context?: string): Promise<void>;
    fillFormFields(data: FormFieldsData, locators: FormFieldsLocators, context?: string): Promise<void>;
    /**
     * Проверяет значение combobox по ключу поля.
     * Работает в editable и notEditable (mat-select внутри mat-form-field).
     * @param fieldKey — ключ поля из FormFieldsLocators.comboboxFieldsLocators
     * @param expectedValue — ожидаемое отображаемое значение (префикс `=` для exact)
     * @param locators — реестр локаторов полей формы
     * @param context — контекст для логирования
     */
    verifyComboboxValue(fieldKey: string, expectedValue: string, locators: FormFieldsLocators, context?: string): Promise<void>;
    /**
     * Проверяет значения полей формы.
     * @param values — ожидаемые значения полей
     * @param locators — реестр локаторов полей формы
     * @param context — контекст для логирования
     */
    verifyFormFieldsValues(values: FormFieldsValues, locators: FormFieldsLocators, context?: string): Promise<void>;
}
export {};
