import { Iterable } from 'ix'; import { IterableLike, ObservableLike } from '../../../WebRx'; import { SearchRequest, SearchViewModel } from '../Search/SearchViewModel'; import { ItemListPanelViewModel } from './ItemListPanelViewModel'; export declare function filterTreeItems(items: IterableLike | undefined, itemsSource: (item: T) => IterableLike | undefined, itemsAssign: (item: T, items: Iterable) => T, filter: (item: T) => boolean): Iterable; export declare class TreeItemListPanelViewModel extends ItemListPanelViewModel { protected readonly itemsSource: (item: T) => IterableLike | undefined; protected readonly itemsAssign: (item: T, items: Iterable) => T; static displayName: string; /** * @param source data source. * @param itemsSource delegate to produce sub-items from a source item. * @param itemsAssign delegate to produce a source item with the sub-items assigned. * @param filterer filter predicate. executed for each item when the search context is available. * @param search search handler. if omitted a default search handler will be created. use null for no search handling. * @param context request context included in projection requests. if included requests are bound to context events. */ constructor(source: ObservableLike>, itemsSource: (item: T) => IterableLike | undefined, itemsAssign: (item: T, items: Iterable) => T, filterer?: (item: T, search: SearchRequest) => boolean, search?: SearchViewModel | null, context?: ObservableLike, rateLimit?: number); getItems(): Iterable; getItemsForIndicies(indicies: IterableLike): undefined; getIndiciesForItems(items: IterableLike): undefined; getFilteredItems(items: Iterable, searchRequest: SearchRequest): Iterable; protected flattenItems(item: T): Iterable; }