import { kinds, KnownEvent, KnownEventTemplate } from "../helpers/event.js"; import { EventFactory } from "./event.js"; export type MailboxesTemplate = KnownEventTemplate; export type MailboxesOptions = { inboxes?: string[]; outboxes?: string[]; }; /** A factory class for building NIP-65 relay list (mailboxes) events */ export declare class MailboxesFactory extends EventFactory { /** * Creates a new mailboxes factory * @returns A new mailboxes factory */ static create(opts?: MailboxesOptions): MailboxesFactory; /** Creates a new mailboxes factory from an existing relay list event with validation */ static modify(event: KnownEvent): MailboxesFactory; /** Adds an outbox relay (write) */ addOutbox(url: string | URL): this; /** Removes an outbox relay (write) */ removeOutbox(url: string | URL): this; /** Adds an inbox relay (read) */ addInbox(url: string | URL): this; /** Removes an inbox relay (read) */ removeInbox(url: string | URL): this; /** Adds a relay as both inbox and outbox */ addRelay(url: string | URL): this; /** Completely removes a relay from mailboxes */ removeRelay(url: string | URL): this; /** Sets all inbox relays (read), replacing existing ones */ inboxes(urls: (string | URL)[]): this; /** Sets all outbox relays (write), replacing existing ones */ outboxes(urls: (string | URL)[]): this; }