/// <reference types="node" />
import { ShortChannelId } from "@node-lightning/core";
import { Channel } from "./channel";
import { Node } from "./node";
/**
 * Graph represents a
 */
export declare class Graph {
    /**
     * Map containing all nodes in the system
     */
    nodes: Map<string, Node>;
    /**
     * Map containing all channels in the graph
     */
    channels: Map<bigint, Channel>;
    /**
     * The height the graph has been synced through
     */
    syncHeight: number;
    /**
     * Adds a node to the graph
     */
    addNode(node: Node): void;
    /**
     * Adds a channgel to the graph
     */
    addChannel(channel: Channel): void;
    /**
     * Gets a node in the graph
     */
    getNode(nodeId: Buffer): Node;
    /**
     * Gets a node in the channel by shortChannelId
     */
    getChannel(shortChannelId: ShortChannelId): Channel;
    /**
     * Removes the node from the graph
     */
    removeChannel(channel: Channel): void;
}
