import { type DialogProps } from '../../Dialog';
import { type TreeListData, type TreeListProps } from '../../Tree';
import type { TreeAutocompleteValue } from '../types';
export type OptionsModalProps = Omit<DialogProps, 'open' | 'onChange'> & {
    /**
     * Если true, модальное окно будет открыто
     */
    isOpen: boolean;
    /**
     * Выбранное значения
     */
    initialValue?: TreeAutocompleteValue;
    /**
     * Опции, которые необходимо отобразить в виде дерева.
     */
    options: TreeListData[];
    /**
     * Флаг загрузки options
     * Если true, вместо дерева options будет отображен лоадер
     */
    isLoading?: boolean;
    /**
     * Флаг ошибки загрузки options
     * Если true, вместо дерева options будет отображен плейсхолдер с ошибкой
     */
    isLoadingError?: boolean;
    /**
     * Текст ошибки при загрузке данных
     */
    loadingErrorMsg?: string;
    /**
     * Функция для поиска элементов по дереву, если не определено, то будет использован встроенный поиск
     */
    filterOptions?: (node: TreeListData, searchValue: string) => boolean;
    /**
     * Предназначен для конфигурации всплывающего окна
     */
    treeProps?: Pick<TreeListProps, 'disabledItems' | 'renderItem'>;
    /**
     * Функция обработки нажатия на кнопку "Повторить запрос"
     */
    onRetry?: () => void;
    /**
     * Функция, которая запускается при выборе item
     */
    onChange?: (newValue?: TreeAutocompleteValue) => void;
};
