import { Observable } from "rxjs"; import { NostrEvent } from "../helpers/event.js"; import { DeleteEventNotification, IDeleteManager } from "./interface.js"; /** Manages deletion state for events, ensuring users can only delete their own events */ export declare class DeleteManager implements IDeleteManager { /** A stream of pointers that may have been deleted */ readonly deleted$: Observable; /** Internal subject for deleted$ observable */ private deletedSubject; /** Maps author pubkey to Set of event IDs they have deleted */ private deletedIds; /** Maps of author pubkey to Map of kind + "|" + identifier and timestamp of the delete event */ private deletedIdentifiers; constructor(); /** * Process a kind 5 delete event * Extracts event pointers and address pointers from the delete event * Enforces that users can only delete their own events */ add(deleteEvent: NostrEvent): DeleteEventNotification[]; /** * Check if an event is deleted * Verifies the event was deleted by its own author */ check(event: NostrEvent): boolean; /** * Filter out all deleted events from an array of events */ filter(events: NostrEvent[]): NostrEvent[]; }