export interface WrappedData { data: endPointT | parentT; findParentData: () => parentT | null; } export interface Container extends WrappedData { data: parentT; getChildren: () => (endPointT | parentT)[]; } export interface EndPoint extends WrappedData { data: endPointT; }