/// <reference types="node" />
import { BitField } from "@node-lightning/core";
import { ShortChannelId } from "@node-lightning/core";
import { OutPoint } from "@node-lightning/core";
import { ChannelSettings } from "./channel-settings";
export declare class Channel {
    /**
     * Short channel identifier for the channel that points to the funding
     * transaction on the blockchain.
     */
    shortChannelId: ShortChannelId;
    /**
     * Obtained after verifying the transaction is a valid
     * channel funding transaction and is still a UTXO
     */
    channelPoint: OutPoint;
    /**
     * Public key of the first node, as ordered by DER encoding of the
     * 33-byte secp256k1 public key.
     */
    nodeId1: Buffer;
    /**
     * Public key of the second node, as ordered by DER encoding of the
     * 33-byte secp256k1 public key.
     */
    nodeId2: Buffer;
    /**
     * Channel features
     */
    features: BitField;
    /**
     * Routing policy for the first node
     */
    node1Settings: ChannelSettings;
    /**
     * Routing policy for the second node
     */
    node2Settings: ChannelSettings;
    /**
     * Capacity of the channel as determined by the funding transaction
     * output amount.
     */
    capacity: bigint;
    /**
     * Gets the most recently updated timestamp based on the settings
     * from the two nodes
     */
    get lastUpdate(): number;
    /**
     * Routable when nodes are known and validated and at least one
     * node has broadcast its relay fees
     */
    get isRoutable(): boolean;
    /**
     * Update channel settings
     */
    updateSettings(settings: ChannelSettings): boolean;
}
