import { Node } from './node'; export interface Traversable { filter(by: (value: T, index: number) => boolean): T[]; find(by: (value: T, index: number) => boolean): T | undefined; } /** * A tree of source files. Eventually, it's a graph. Ideally, it's an acyclic directed graph. * Technically, it's implemented as a map-like collection with references between map entries. */ export declare class BuildGraph implements Traversable { private store; put(value: Node | Node[]): this; private insert(node); get(url: string): Node; has(url: string): boolean; entries(): Node[]; filter(by: (value: Node, index: number) => boolean): Node[]; find(by: (value: Node, index: number) => boolean): Node | undefined; from(node: Node): Traversable; readonly size: number; }