import ImmutableSelectionStrategy from 'bloko/common/tree/immutableSelectionStrategy';
import TreeCollection from 'bloko/common/tree/treeCollection';
import { AdditionalDefault } from 'bloko/common/tree/types';
interface UseTreeSelectorHandlersHookProps {
collection: TreeCollection;
value: string[];
excludedValue: string[];
selected: string[];
excluded: string[];
selectionStrategy: InstanceType;
onChange?: (ids: string[], excludedIds: string[]) => void;
onFocus?: () => void;
onBlur?: () => void;
setVisible: (visible: boolean) => void;
setSelected: (selected: string[], excluded: string[]) => void;
}
interface UseTreeSelectorHandlersHookResult {
handleTreeSelectorPopupClose: () => void;
handleTreeSelectorPopupSubmit: (selected: string[]) => void;
handleTreeSelectorChange: (id: string, isSelected: boolean) => void;
showTreeSelectorPopup: () => void;
}
interface UseTreeSelectorHandlersHook {
(props: UseTreeSelectorHandlersHookProps): UseTreeSelectorHandlersHookResult;
}
declare const useTreeSelectorHandlers: UseTreeSelectorHandlersHook;
export default useTreeSelectorHandlers;