export interface ILevelledTopologicalSorter { /** * @param {TValue} precedent * @param {TValue | null} consequent * @returns {this} */ add ( precedent: TValue, consequent?: TValue | null ): this; /** * @returns {TValue[]} */ sort (): TValue[]; /** * @returns {TValue[][]} */ sortByGroups (): TValue[][]; }