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