import { NostrEvent } from "./event.js"; import { HiddenContentSigner } from "./hidden-content.js"; import { ProfilePointer } from "./pointers.js"; export declare const ContactsRelaysSymbol: unique symbol; export declare const PublicContactsSymbol: unique symbol; export declare const HiddenContactsSymbol: unique symbol; /** Type for contact events with unlocked hidden tags */ export type UnlockedContacts = { [HiddenContactsSymbol]: ProfilePointer[]; }; export declare function getRelaysFromContactsEvent(event: NostrEvent): Map | null; /** Merges any number of contact lists into a single list */ export declare function mergeContacts(...pointers: (ProfilePointer | undefined | (ProfilePointer | undefined)[])[]): ProfilePointer[]; /** Returns all public and hidden contacts from a contacts list event */ export declare function getContacts(event: NostrEvent): ProfilePointer[]; /** Returns only the public contacts from a contacts list event */ export declare function getPublicContacts(event: NostrEvent): ProfilePointer[]; /** Checks if the hidden contacts are unlocked */ export declare function isHiddenContactsUnlocked(event: T): event is T & UnlockedContacts; /** Returns only the hidden contacts from a contacts list event */ export declare function getHiddenContacts(event: UnlockedContacts): ProfilePointer[]; export declare function getHiddenContacts(event: NostrEvent): ProfilePointer[] | undefined; /** Unlocks the hidden contacts */ export declare function unlockHiddenContacts(event: NostrEvent, signer: HiddenContentSigner): Promise;