/**
 * Entities implementing this interface build a hierarchy.
 */
declare interface IHierachicalEntity<T> {
  /**
   * parent entities
   */
  parents: Promise<T[]>;

  /**
   * child entities
   */
  children: Promise<T[]>;
}
