/**
 * Topologically sort a list of items of any type, given a list of items and
 * a map of outward relations between those items. (Could be a function, but
 * it's a class for testability.)
 *
 * Credit to https://github.com/marcelklehr/toposort/ for a great
 * implementation I had to adapt to be faster for our particular use case.
 *
 * That code appears here courtesy of the MIT license.
 */
export default class TopologicalSorter<T> {
    private outgoingFrom;
    constructor(outgoingFrom: (node: T) => T[]);
    sort(nodes: T[]): T[];
    private makeNodesHash;
}
