import type { BaseFieldsConfiguration } from '../../common/Fields.types';
import type { FormFieldsData } from '../../common/FormFields.types';
/**
 * Конфигурация для фильтрации данных формы по роли (поля allowed/notVisible по типам полей).
 * Совместима с ModalWindowConfiguration и BlockModalWindowConfiguration.
 */
export interface FormDataRoleFilterConfig extends BaseFieldsConfiguration {
}
export type FormDataFieldType = 'textFields' | 'comboboxFields' | 'multiComboboxFields' | 'daDataFields' | 'fileFields' | 'checkboxes' | 'toggleButtons' | 'radioButtons';
export interface SelectValue {
    selectValue: string;
    valueForSearch?: string;
}
export interface DaDataValue extends SelectValue {
    inputValue: string;
    expectedValue?: string;
}
export type textFieldsData = Record<string, string>;
export type FileFieldsData = Record<string, string[]>;
export type ComboboxFieldsData = Record<string, SelectValue>;
export type CheckboxesData = Record<string, boolean>;
export type ToggleButtonsData = Record<string, boolean | 'Yes' | 'No'>;
export type MultiComboboxFieldsData = Record<string, SelectValue[]>;
export type DaDataFieldsData = Record<string, DaDataValue>;
export type RadioButtonsData = string[] | undefined;
export declare function filterFormDataByRole(formData: textFieldsData, config: FormDataRoleFilterConfig, fieldType: 'textFields', loggerContext?: string): textFieldsData;
export declare function filterFormDataByRole(formData: FileFieldsData, config: FormDataRoleFilterConfig, fieldType: 'fileFields', loggerContext?: string): FileFieldsData;
export declare function filterFormDataByRole(formData: ComboboxFieldsData, config: FormDataRoleFilterConfig, fieldType: 'comboboxFields', loggerContext?: string): ComboboxFieldsData;
export declare function filterFormDataByRole(formData: CheckboxesData, config: FormDataRoleFilterConfig, fieldType: 'checkboxes', loggerContext?: string): CheckboxesData;
export declare function filterFormDataByRole(formData: ToggleButtonsData, config: FormDataRoleFilterConfig, fieldType: 'toggleButtons', loggerContext?: string): ToggleButtonsData;
export declare function filterFormDataByRole(formData: MultiComboboxFieldsData, config: FormDataRoleFilterConfig, fieldType: 'multiComboboxFields', loggerContext?: string): MultiComboboxFieldsData;
export declare function filterFormDataByRole(formData: DaDataFieldsData, config: FormDataRoleFilterConfig, fieldType: 'daDataFields', loggerContext?: string): DaDataFieldsData;
export declare function filterFormDataByRole(formData: RadioButtonsData, config: FormDataRoleFilterConfig, fieldType: 'radioButtons', loggerContext?: string): RadioButtonsData;
export interface FilteredFormFieldsData {
    filteredTextFieldsData?: textFieldsData;
    filteredComboboxFieldsData?: ComboboxFieldsData;
    filteredFileFieldsData?: FileFieldsData;
    filteredRadioButtonsData?: RadioButtonsData;
    filteredCheckboxesData?: CheckboxesData;
    filteredToggleButtonsData?: ToggleButtonsData;
    filteredDaDataFieldsData?: DaDataFieldsData;
    filteredMultiComboboxFieldsData?: MultiComboboxFieldsData;
}
export declare function filterFormFieldsData(formFields: FormFieldsData, config: FormDataRoleFilterConfig | undefined, loggerContext?: string): FilteredFormFieldsData;
export declare function toFormFieldsData(filteredFields: FilteredFormFieldsData): FormFieldsData;
export declare function filterFormFieldsByConfig(formFields: FormFieldsData, config: FormDataRoleFilterConfig, loggerContext?: string): FormFieldsData;
