import type { RelaySettings } from "./connection" export interface NostrEvent { id: string pubkey: string created_at: number kind: number tags: Array> content: string sig: string } export interface TaggedNostrEvent extends NostrEvent { /** * A list of relays this event was seen on */ relays?: Array /** * Additional context */ context?: object } export type ReqCommand = [cmd: "REQ", id: string, ...filters: Array] /** * Raw REQ filter object */ export interface ReqFilter { ids?: string[] authors?: string[] kinds?: number[] "#e"?: string[] "#p"?: string[] "#t"?: string[] "#d"?: string[] "#r"?: string[] "#a"?: string[] "#g"?: string[] search?: string since?: number until?: number limit?: number relays?: string[] [key: string]: Array | Array | string | number | undefined | boolean } /** * Medatadata event content */ export type UserMetadata = { name?: string display_name?: string about?: string picture?: string website?: string banner?: string nip05?: string lud06?: string lud16?: string } export interface FullRelaySettings { url: string settings: RelaySettings } export type NotSignedNostrEvent = Omit export interface OkResponse { ok: boolean id: string relay: string message?: string event: NostrEvent }