export interface INode { value: T; children: INode[]; } export declare function createNode(ts: T[], t: T, getChildren: (ts: T[], t: T) => T[]): INode; export declare function traverseDepthFirst(node: INode, process: (t: T, rs: R[]) => R): R;