import { NostrEvent } from './NostrEvent.ts'; import { NostrFilter } from './NostrFilter.ts'; import { NostrRelayCOUNT } from './NostrRelayMsg.ts'; /** Nostr event store. */ export interface NStore { /** Add an event to the store (equivalent of `EVENT` verb). */ event(event: NostrEvent, opts?: { signal?: AbortSignal }): Promise; /** Get an array of events matching filters. */ query( filters: NostrFilter[], opts?: { signal?: AbortSignal }, ): Promise; /** Get the number of events matching filters (equivalent of `COUNT` verb). */ count?( filters: NostrFilter[], opts?: { signal?: AbortSignal }, ): Promise; /** Remove events from the store. This action is temporary, unless a kind `5` deletion is issued. */ remove?( filters: NostrFilter[], opts?: { signal?: AbortSignal }, ): Promise; }