interface FetchOptions { platform: 'reddit' | 'twitter'; url: string; apiEndpoint: string; dataValidator: (data: any) => boolean; onDataUpdate: (data: any) => void; onError: (error: string) => void; onLoading: (loading: boolean) => void; } export declare class SocialEmbedCache { private static instance; static getInstance(): SocialEmbedCache; getFromMemory(url: string): any | null; setInMemory(url: string, data: any): void; /** * Memory → proxy. Kept the historical name so the embed clients' * call sites are unchanged. */ fetchWithHierarchy(options: FetchOptions): Promise; /** * Returns the validated payload, `null` for a structured "content * unavailable" 404, and throws for everything else. Concurrent calls for * the same URL share one request. */ private fetchFromProxy; } export declare const socialCache: SocialEmbedCache; export {}; //# sourceMappingURL=social-embed-cache.d.ts.map