import { Filter, Event } from 'nostr-tools'; export declare const getProfileMetadata: (authorId: string, relays?: string[]) => Promise; export declare const getBatchedProfileMetadata: (authorIds: string[], relays?: string[]) => Promise<{ id: string; profile: any; }[]>; export declare const extractProfileMetadataContent: (profileMetadata: any) => any; export declare const getZapEndpoint: (profileMetadata: any) => Promise; /** * Builds the deterministic `a` tag value for a URL-based zap. * Format: "39735::" * Kind 39735 is in the NIP-01 addressable event range (30000-39999), making * this a valid event coordinate that NIP-57 relays copy from the zap request * to the zap receipt, enabling relay-side #a filtering. * * Note: kind 39735 is also referenced by the publsp project for Lightning LSP * liquidity offers. No actual kind 39735 event is ever published here — the * number is used purely as a stable coordinate prefix. The d-field is always a * normalized URL, which is semantically distinct from publsp identifiers, so * the overlap is benign in practice. */ export declare const buildUrlATag: (pubkey: string, url: string) => string; export declare const fetchInvoice: ({ zapEndpoint, amount, comment, authorId, normalizedRelays, anon, url, }: { zapEndpoint: string; amount: number; comment?: string; authorId: string; normalizedRelays: string[]; anon?: boolean; url?: string; }) => Promise; /** * Check if NostrLogin is available * @deprecated Use ensureInitialized() instead - it will initialize NostrLogin if needed */ export declare const isNip07ExtAvailable: () => boolean; export declare function resolveNip05(nip05Identifier: string): Promise; declare module 'nostr-tools' { interface SimplePool { subscribe(relays: string[], filter: Filter, params: { onevent: (event: Event) => void; onclose?: () => void; id?: string; maxWait?: number; }): { close: () => void; }; } } export interface ZapDetails { amount: number; date: Date; authorPubkey: string; comment?: string; } export interface ZapAmountResult { totalAmount: number; zapDetails: ZapDetails[]; } export declare const fetchTotalZapAmount: ({ pubkey, relays, url, }: { pubkey: string; relays: string[]; url?: string; }) => Promise; export declare const listenForZapReceipt: ({ relays, receiversPubKey, invoice, onSuccess, }: { relays: string[]; receiversPubKey: string; invoice: string; onSuccess: () => void; }) => () => void;