import type { DialogProps } from '../../Dialog';
import type { TreeListProps } from '../../Tree';
import type { TreeLikeAsyncAutocompleteValue } from '../types';
export type OptionsModalProps = {
    /**
     * Если true, модальное окно будет открыто
     */
    isOpen: boolean;
    /**
     * Флаг, определяющий отображение состояния загрузки в модальном окне.
     */
    isLoadingModal: boolean;
    /**
     * Функция определения необходимости показа подсказки пользователю
     */
    onShowUserHint?: (options: TreeLikeAsyncAutocompleteValue) => boolean;
    /**
     * Опции, которые необходимо отобразить в виде дерева.
     */
    options: TreeLikeAsyncAutocompleteValue;
    /**
     * Выбранное значения
     */
    initialValue?: TreeLikeAsyncAutocompleteValue;
    /**
     * Флаг загрузки options
     * Если true, вместо дерева options будет отображен лоадер
     */
    isLoading?: boolean;
    /**
     * Флаг ошибки загрузки options
     * Если true, вместо дерева options будет отображен плейсхолдер с ошибкой
     */
    isLoadingError?: boolean;
    /**
     * Текст ошибки при загрузке данных
     */
    loadingErrorMsg?: string;
    /**
     * Предназначен для конфигурации древовидного списка
     */
    treeProps?: Pick<TreeListProps, 'disabledItems' | 'renderItem'>;
    /**
     * Параметры предназначены для конфигурации модального окна
     */
    dialogProps: Omit<DialogProps, 'open' | 'onChange' | 'disableRestoreFocus'>;
    /**
     * Функция обработки нажатия на кнопку "Повторить запрос"
     */
    onRetry?: (search?: string) => void;
    /**
     * Функция, которая запускается при выборе item
     */
    onChange?: (newValue?: TreeLikeAsyncAutocompleteValue) => void;
    /**
     * Функция обработки изменения поля ввода
     */
    onInputChange: (value: string) => void;
    /**
     * Метаданные опций
     */
    meta?: {
        isAllDataLoaded?: boolean;
    };
    /**
     * Минимальное количество символов для выполнения запроса
     */
    minSymbolsToFetch?: number;
};
