type ItemGroup = [I, ...I[]]; export type CollectorTuple = [ItemGroup, D]; export type MinLength1Array = [T, ...T[]]; export interface ICollectorNode { item: I; data: T; parent: ICollectorNode | null; children: ICollectorNode[]; flatten(): MinLength1Array>; } export declare class CollectorNode implements ICollectorNode { data: D; item: I; private _identity; parent: ICollectorNode | null; children: ICollectorNode[]; constructor(data: D, item: I, _identity: (item: I) => string); flatten(): MinLength1Array>; } export {};