import TreeCollection from 'bloko/common/tree/treeCollection'; import { AdditionalDefault, IdCollectionPredicate } from 'bloko/common/tree/types'; interface Options { singleChoice?: boolean; leavesOnly?: boolean; checkSelectable?: IdCollectionPredicate; singleCategory?: boolean; withExcluded?: boolean; } export interface Iterable { [Symbol.iterator](): Iterator; } interface ImmutableSelectionStrategyInterface { new (collection: TreeCollection, options: Options): { add(items: Iterable, addedItems: string[]): string[]; exclude(items: Iterable, excludedItems: string[], processedItems: string[]): string[]; remove(items: Iterable, removedItems: string[]): string[]; }; } declare const ImmutableSelectionStrategy: ImmutableSelectionStrategyInterface; export default ImmutableSelectionStrategy;