import { Address } from "@node-lightning/wire";
import { Channel } from "../channel";
import { ChannelSettings } from "../channel-settings";
import { Graph } from "../graph";
import { Node } from "../node";
/**
 * Performs JSON serialization of the graph in the same format
 * as used by LND and defined in LND API documentation:
 *
 * https://api.lightning.community/#simple-rpc-33
 */
export declare class LndSerializer {
    toObject(g: Graph): {
        nodes: {
            last_update: number;
            pub_key: string;
            alias: string;
            addresses: {
                network: string;
                addr: string;
            }[];
            color: string;
        }[];
        edges: {
            channel_id: string;
            chan_point: string;
            last_update: number;
            node1_pub: string;
            node2_pub: string;
            capacity: string;
            node1_policy: {
                time_lock_delta: number;
                min_htlc: string;
                fee_base_msat: string;
                fee_rate_milli_msat: string;
                disabled: boolean;
                max_htlc_msat: string;
                last_update: number;
            };
            node2_policy: {
                time_lock_delta: number;
                min_htlc: string;
                fee_base_msat: string;
                fee_rate_milli_msat: string;
                disabled: boolean;
                max_htlc_msat: string;
                last_update: number;
            };
        }[];
    };
    toJSON(g: Graph, format?: boolean): string;
    serializeNode(node: Node): {
        last_update: number;
        pub_key: string;
        alias: string;
        addresses: {
            network: string;
            addr: string;
        }[];
        color: string;
    };
    serializeAddress(address: Address): {
        network: string;
        addr: string;
    };
    serializeChannel(chan: Channel): {
        channel_id: string;
        chan_point: string;
        last_update: number;
        node1_pub: string;
        node2_pub: string;
        capacity: string;
        node1_policy: {
            time_lock_delta: number;
            min_htlc: string;
            fee_base_msat: string;
            fee_rate_milli_msat: string;
            disabled: boolean;
            max_htlc_msat: string;
            last_update: number;
        };
        node2_policy: {
            time_lock_delta: number;
            min_htlc: string;
            fee_base_msat: string;
            fee_rate_milli_msat: string;
            disabled: boolean;
            max_htlc_msat: string;
            last_update: number;
        };
    };
    serializeRoutingPolicy(policy: ChannelSettings): {
        time_lock_delta: number;
        min_htlc: string;
        fee_base_msat: string;
        fee_rate_milli_msat: string;
        disabled: boolean;
        max_htlc_msat: string;
        last_update: number;
    };
}
