/** * @module viw-webgl-component */ /** * Recursive Tree implemented as a recursive map. */ export type MapTree = Map>; /** * Returns true if both argument are null or pair-wise equal. */ export declare function ArrayEquals(first: T[], second: T[]): boolean; /** * Creates N-level grouping of items using given grouping selector in the order provided. * @param items array of items to groups * @param grouping array of selectors * @returns a Map of Map ... of Map with the first map containing a single element called root. */ export declare function toMapTree(items: V[], grouping: ((v: V) => string)[]): MapTree; /** * groups elements of an array into a map using values returned by selector. * Intended to work as Linq.GroupBy */ export declare function groupBy(array: V[], selector: (o: V) => K): Map; /** * Takes a N-deep Map tree and reinsert all element in sorted order. */ export declare function sort(map: MapTree): void;