import { KnownEvent, NostrEvent, kinds } from "./event.js"; export declare const ProfileContentSymbol: unique symbol; export type ProfileContent = { /** Nickname or full name of the user */ name?: string; /** @deprecated use name instead */ username?: string; /** An alternative, bigger name with richer characters than `name`. `name` should always be set regardless of the presence of `display_name`. */ display_name?: string; /** @deprecated use display_name instead */ displayName?: string; /** Short bio or description of the user */ about?: string; /** @deprecated use picture instead */ image?: string; /** URL of the profile picture image */ picture?: string; /** URL to a wide (~1024x768) picture to be optionally displayed in the background of a profile screen */ banner?: string; /** A web URL related in any way to the event author */ website?: string; /** A LNURL-based Lightning address in the format `lnurlp://…` */ lud06?: string; /** Lightning address in the format `user@domain.com` (LUD-16 format) */ lud16?: string; /** DNS-based verification identifier in the format `_@domain.com` or `user@domain.com` */ nip05?: string; /** Boolean to clarify that the content is entirely or partially the result of automation, such as with chatbots or newsfeeds */ bot?: boolean; /** Object representing the author's birth date. Each field may be omitted. */ birthday?: { /** Birth year */ year?: number; /** Birth month (1-12) */ month?: number; /** Birth day (1-31) */ day?: number; }; /** An array of strings representing the author's preferred languages (in order of preference), each in IETF BCP 47 format (e.g., ["en", "ja"], ["es-AR", "en-US"]). The first element is the primary language. */ languages?: string[]; }; /** Type for validated profile events */ export type ProfileEvent = KnownEvent; /** Returns the parsed profile content for a kind 0 event */ export declare function getProfileContent(event: ProfileEvent): ProfileContent; export declare function getProfileContent(event: NostrEvent): ProfileContent | undefined; /** Checks if the content of the kind 0 event is valid JSON */ export declare function isValidProfile(profile?: NostrEvent): profile is ProfileEvent; /** Gets the profile picture from a nostr event or profile content with fallback */ export declare function getProfilePicture(metadata: ProfileContent | NostrEvent | undefined): string | undefined; export declare function getProfilePicture(metadata: ProfileContent | NostrEvent | undefined, fallback: string): string; export declare function getProfilePicture(metadata: ProfileContent | NostrEvent | undefined, fallback?: string): string | undefined; /** Gets the display name from a profile with fallback */ export declare function getDisplayName(metadata: NostrEvent, fallback?: string): string; export declare function getDisplayName(metadata: undefined): undefined; export declare function getDisplayName(metadata: ProfileContent | undefined): string | undefined; export declare function getDisplayName(metadata: ProfileContent | NostrEvent | undefined, fallback: string): string; export declare function getDisplayName(metadata: ProfileContent | NostrEvent | undefined, fallback?: string): string | undefined;