import { FC, ReactNode, PropsWithChildren } from 'react';
import 'bloko/blocks/treeSelectorPopup/treeSelectorPopup.less';
export interface TreeSelectorPopupProps {
/** Показывать ли TreeSelectorPopup */
visible?: boolean;
/** Заголовок */
title?: ReactNode;
/** Отображать ли строку поиска */
search?: boolean;
/** Закрывать ли попап по кнопке подтверждения */
hideOnSubmitClick?: boolean;
/** Переводы:
* `submit` - кнопка подтвержения
* `cancel` - кнопка отмены
* `searchPlaceholder` - плейсхолдер в строке поиска
* `notFound` - сообщение о том, что по поисковому запросу ничего не найдено */
trl: {
submit: string;
cancel: string;
searchPlaceholder?: string;
notFound?: string;
};
/** Подсказка над TreeSelector */
hint?: ReactNode;
/** Текст ошибки */
error?: string;
/** Заблокирована ли кнопка подтверждения */
disabledSubmit?: boolean;
/** Отображать ли иконку загрузки на кнопке подтверждения */
showLoadingOnSubmit?: boolean;
/** Обработчик изменения набора выбранных ID.
* В аргументах получает список выбранных элементов`{Array} selected`. */
onChange?: (selected: string[]) => void;
/** Обработчик закрытия TreeSelectorPopup */
onClose: () => void;
/** Кастомный обработчик нажатия кнопки подтверждения
* В аргументах получает список выбранных элементов `{Array} selected`. */
onSubmit?: (selected: string[]) => void;
/** Список выбранных id для контолируемого компонента */
selected?: string[];
/** Отображать ли крестик очистки строки поиска */
searchWithClear?: boolean;
/** Очищать ли поле поиска после выбора элемента */
clearSearchOnChange?: boolean;
/** Обработчик изменения строки contentFilterQuery
* В аргументах получает список подходящих под запрос id и сам запрос*/
onChangeFilterQuery?: (ids: string[], query: string) => void;
/** Блок между заголовком попапа и поисковым инпутом */
contentAfterTitle?: ReactNode;
/** Дополнительный элемент в футере */
footerExtra?: ReactNode;
/** DOM нода хоста в рамках которого нужно рендерить модальное окно, по дефолту рендер будет в body.*/
host?: HTMLElement;
}
declare const TreeSelectorPopup: FC;
export default TreeSelectorPopup;