/** * @file Nostr event type definitions * @module types/events */ /** * Base Nostr event interface following NIP-01 specification * @see https://github.com/nostr-protocol/nips/blob/master/01.md */ export interface NostrEvent { /** Event ID in hex format */ id: string; /** Public key of the event creator in hex format */ pubkey: string; /** Unix timestamp in seconds */ created_at: number; /** Event kind number */ kind: number; /** Array of tags */ tags: string[][]; /** Event content */ content: string; /** Signature of the event data in hex format */ sig: string; } /** * Signed Nostr event with id and signature * @extends NostrEvent */ export interface SignedNostrEvent extends NostrEvent { /** Event ID in hex format */ id: string; /** Signature of the event data in hex format */ sig: string; } /** * Event validation result */ export interface NostrEventValidationResult { valid: boolean; error?: string; } /** * Event subscription filter */ export interface NostrEventFilter { ids?: string[]; authors?: string[]; kinds?: number[]; since?: number; until?: number; limit?: number; [key: string]: unknown; } /** * Nostr subscription event interface * Used for creating subscription messages to relays */ export interface NostrSubscriptionEvent { /** Subscription ID */ subscriptionId: string; /** Array of filters */ filters: NostrEventFilter[]; } /** * Event handler interface for WebSocket client */ export interface NostrWSEventHandlers { onMessage?: (message: string) => void; onError?: (error: Error) => void; onConnect?: () => void; onDisconnect?: () => void; onReconnect?: () => void; } //# sourceMappingURL=events.d.ts.map