/// <reference types="node" />
import { OutPoint } from "@node-lightning/core";
import { IGossipEmitter } from "@node-lightning/wire";
import { EventEmitter } from "events";
import { Channel } from "./channel";
import { ChannelSettings } from "./channel-settings";
import { Graph } from "./graph";
import { GraphError } from "./graph-error";
import { Node } from "./node";
export declare interface GraphManager {
    on(event: "node", fn: (node: Node) => void): this;
    on(event: "channel", fn: (channel: Channel) => void): this;
    on(event: "channel_update", fn: (channel: Channel, settings: ChannelSettings) => void): this;
    on(event: "error", fn: (err: GraphError) => void): this;
}
/**
 * GraphManager is a facade around a Graph object. It converts in-bound
 * gossip messages from the wire into a graph representation. Channels
 * can also be removed by monitoring the block chain via a chainmon object.
 */
export declare class GraphManager extends EventEmitter {
    graph: Graph;
    gossipEmitter: IGossipEmitter;
    constructor(gossipManager: IGossipEmitter, graph?: Graph);
    /**
     * Closes channel via the outpoint
     * @param outpoint
     */
    removeChannel(outpoint: OutPoint): void;
    private _onMessage;
}
