/**
 * @copyright Sister Software
 * @license AGPL-3.0
 * @author Teffen Ellis, et al.
 */
import { Sequence } from "mailwoman/core/resources";
export type GraphNodeCallback<G> = (node: G) => boolean;
/**
 * A graph structure for storing relationships between nodes.
 */
export declare class Graph<GraphNode extends WeakKey> {
    /**
     * Parents of the graph, i.e. upward connections to the graph.
     */
    parents: Sequence<GraphNode>;
    /**
     * Children of the graph, i.e. downward connections to the graph.
     */
    children: Sequence<GraphNode>;
    /**
     * Previous siblings of the graph, i.e. leftward connections to the graph.
     */
    readonly previousSiblings: Sequence<GraphNode>;
    /**
     * Next siblings of the graph, i.e. rightward connections to the graph.
     */
    readonly nextSiblings: Sequence<GraphNode>;
    /**
     * Phrases identified in the graph, i.e. a sequence of nodes composing a classification.
     */
    readonly phrases: Sequence<GraphNode>;
    get nextSibling(): GraphNode | null;
    get previousSibling(): GraphNode | null;
}
//# sourceMappingURL=Graph.d.ts.map