/// <reference types="node" />
import { ShortChannelId } from "@node-lightning/core";
import { OutPoint } from "@node-lightning/core";
import { ChannelAnnouncementMessage } from "../messages/ChannelAnnouncementMessage";
import { ChannelUpdateMessage } from "../messages/ChannelUpdateMessage";
import { NodeAnnouncementMessage } from "../messages/NodeAnnouncementMessage";
import { IGossipStore } from "./GossipStore";
/**
 * In-memory implementation of the IGossipStore.
 */
export declare class GossipMemoryStore implements IGossipStore {
    private _channelAnn;
    private _channelByOutPoint;
    private _channelUpd;
    private _nodeAnn;
    private _nodeChannels;
    get channelAnnouncementCount(): number;
    get channelUpdateCount(): number;
    get nodeAnnouncementCount(): number;
    saveChannelAnnouncement(msg: ChannelAnnouncementMessage): Promise<void>;
    saveChannelUpdate(msg: ChannelUpdateMessage): Promise<void>;
    saveNodeAnnouncement(msg: NodeAnnouncementMessage): Promise<void>;
    findChannelsForNode(nodeId: Buffer): Promise<ShortChannelId[]>;
    findNodeAnnouncement(nodeId: Buffer): Promise<NodeAnnouncementMessage>;
    findNodeAnnouncements(): Promise<NodeAnnouncementMessage[]>;
    findChannelAnnouncemnts(): Promise<ChannelAnnouncementMessage[]>;
    findChannelAnnouncement(scid: ShortChannelId): Promise<ChannelAnnouncementMessage>;
    findChannelAnnouncementByOutpoint(outpoint: OutPoint): Promise<ChannelAnnouncementMessage>;
    findChannelUpdate(scid: ShortChannelId, dir: number): Promise<ChannelUpdateMessage>;
    deleteChannelAnnouncement(scid: ShortChannelId): Promise<void>;
    deleteChannelUpdate(scid: ShortChannelId, dir: number): Promise<void>;
    deleteNodeAnnouncement(nodeId: Buffer): Promise<void>;
    private _saveNodeChannel;
}
