import { nip19 } from 'nostr-tools'; import { SiteAddr } from './nostrsite/types/site-addr'; import { default as NDK, NDKEvent, NDKFilter, NostrEvent } from '@nostr-dev-kit/ndk'; import { GlobalNostrSite, RenderMode, Site, Store } from '.'; import { DbEvent } from './nostrsite/store/db'; export declare function parseAddr(naddr: string): SiteAddr; export declare function parseNaddr(naddr: string): nip19.AddressPointer | undefined; export declare function getMetaAddr(): Promise; export declare function renderCurrentPage(path?: string, options?: { mode: RenderMode; }): Promise; export declare function fetchNostrSite(addr: SiteAddr, ndk?: NDK): Promise; export declare function fetchProfile(ndk: NDK, pubkey: string): Promise; export declare function prepareSite(ndk: NDK, adminPubkey: string, options: { contributorPubkeys?: string[]; kinds?: number[]; hashtags?: string[]; theme?: { id: string; hash: string; relay: string; name: string; }; }): Promise; export declare function getTopHashtags(store: Store): Promise; export declare function prepareSiteByContent(site: NostrEvent | NDKEvent, store: Store): Promise; export declare function getProfileSlug(profile: NostrEvent | NDKEvent): string; export declare function setPwaSiteAddr(addr: SiteAddr): Promise; export declare function getPwaSiteAddr(): Promise; export declare function getCachedSite(addr: SiteAddr): Promise; export declare function prepareGlobalNostrSite(tmpl: GlobalNostrSite): GlobalNostrSite; export declare function startReplacingFeatureImagesWithVideoPreviews(): void; export declare function scanRelays(ndk: NDK, filters: NDKFilter | NDKFilter[], relayUrls: string[], limit: number, options?: { since?: number; until?: number; batchSize?: number; timeout?: number; threads?: number; matcher?: (e: NDKEvent) => boolean; onBatch?: (events: NDKEvent[]) => Promise; }): Promise; export declare function fetchByIds(ndk: NDK, ids: string[], relayHints: string[], { batchSize, timeout, }?: { batchSize?: number; timeout?: number; }): Promise; export declare function createSiteSubmitFilters({ since, until, authors, kinds, hashtags, limit, settings, }: { settings: Site; limit: number; since?: number; until?: number; kinds?: number[]; hashtags?: string[]; authors?: string[]; }): NDKFilter[]; export declare function createSiteFilters({ since, until, authors, kinds, hashtags, limit, settings, }: { settings: Site; limit: number; since?: number; until?: number; kinds?: number[]; hashtags?: string[]; authors?: string[]; }): NDKFilter[]; export declare function matchPostsToFilters(e: DbEvent | NostrEvent | NDKEvent, filters: NDKFilter[]): boolean; export declare function parseATag(a: string | null | undefined): { kind: number; pubkey: string; identifier: string; } | undefined;