import { default as NDK, NDKEvent, NDKFilter, NostrEvent } from '@nostr-dev-kit/ndk'; import { Site, StoreObject } from '.'; export declare function isBlossomUrl(u: string): boolean; export declare function findImeta(event: NostrEvent, u: string): import('@nostr-dev-kit/ndk').NDKTag | undefined; export declare function findMimeType(event: NostrEvent, u: string): string | null | undefined; export declare function isImageUrl(u: string, event?: NostrEvent): boolean | "" | null | undefined; export declare function isVideoUrl(u: string, event?: NostrEvent): boolean | "" | null | undefined; export declare function isAudioUrl(u: string, event?: NostrEvent): boolean | "" | null | undefined; export interface PromiseQueueCb { cb: (...args: any[]) => Promise; args: any[]; } export declare class PromiseQueue { queue: PromiseQueueCb[]; constructor(); appender(cb: (...cbArgs: any[]) => Promise): (...apArgs: any[]) => void; execute(): Promise; } export declare function parseRelayEvents(events: Set): Map; export declare function prepareRelays(pubkeyRelays: Map, maxRelaysPerPubkey: number, addFallback?: boolean): { write: string[]; read: string[]; }; export declare function fetchRelays(ndk: NDK, pubkeys: string[], maxRelaysPerPubkey?: number, addFallback?: boolean): Promise<{ events: NDKEvent[]; write: string[]; read: string[]; }>; export declare function fetchOutboxRelays(ndk: NDK, pubkeys: string[]): Promise; export declare function fetchInboxRelays(ndk: NDK, pubkeys: string[]): Promise; export declare function fetchEvents(ndk: NDK, filters: NDKFilter | NDKFilter[], relays: string[], timeoutMs?: number): Promise>; export declare function fetchEvent(ndk: NDK, filters: NDKFilter | NDKFilter[], relays: string[], timeoutMs?: number): Promise; export declare function getRelativeUrlPrefix(o: StoreObject): "post/" | "tag/" | "author/"; export declare function getUrlMediaMime(u: string): "" | "image/png" | "image/gif" | "image/webp" | "image/svg+xml" | "image/jpeg" | "video/mp4" | "video/x-msvideo" | "video/mpeg" | "video/x-matroska" | "video/quicktime" | "video/webm" | "video/ogg" | "image/tiff" | "audio/mpeg" | "audio/aac" | "audio/ogg" | "audio/wav" | "audio/webm"; export declare function isEqualContentSettings(a: Site, b: Site): boolean; export declare function ensureNumber(v: any | undefined): number | undefined; export declare function normalizeRelayUrl(r: string): string | undefined; export declare function hintsToRelays(relayHints: string[]): string[]; export declare function fetchBlossom(url: string): Promise; export declare function fetchSiteFile(ndk: NDK, naddr: string, name: string, relays: string[]): Promise;