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" ; /**
 * Interface for storing, finding, and deleting gossip messages.
 */ export interface IGossipStore { findChannelAnnouncemnts ( ) : Promise < ChannelAnnouncementMessage [ ] > ; findChannelsForNode ( nodeId ) : Promise < ShortChannelId [ ] > ; findNodeAnnouncement ( nodeId ) : Promise < NodeAnnouncementMessage > ; findNodeAnnouncements ( ) : Promise < NodeAnnouncementMessage [ ] > ; findChannelAnnouncement ( scid ) : Promise < ChannelAnnouncementMessage > ; findChannelAnnouncementByOutpoint ( outpoint ) : Promise < ChannelAnnouncementMessage > ; findChannelUpdate ( scid , dir ) : Promise < ChannelUpdateMessage > ; saveChannelAnnouncement ( msg ) : Promise < void > ; saveChannelUpdate ( msg ) : Promise < void > ; saveNodeAnnouncement ( msg ) : Promise < void > ; deleteChannelAnnouncement ( scid ) : Promise < void > ; deleteChannelUpdate ( scid , dir ) : Promise < void > ; deleteNodeAnnouncement ( nodeId ) : Promise < void > ; }