import { NDKEvent } from '@nostr-dev-kit/ndk'; import { SiteAddr } from './site-addr'; import { Store, Theme } from '.'; export interface ServiceWorkerCaches { themeCache: Cache; blossomCache: Cache; mediaCache: Cache; } export type RenderMode = "iife" | "preview" | "sw" | "ssr" | "tab"; export type RenderOptions = { addr: SiteAddr; mode?: RenderMode; origin?: string; ssrIndexScriptUrl?: string; maxObjects?: number; noDefaultPlugins?: boolean; site?: NDKEvent; theme?: Theme; store?: Store; }; export interface Renderer { start(opions: RenderOptions): Promise; started(): boolean; getAddr(): SiteAddr; setCaches(caches: ServiceWorkerCaches): void; destroy(): Promise; render(path: string): Promise<{ result: string; context: any; }>; renderPartial(template: string, self: any, data: any): Promise; onUpdate(): Promise; getSiteMap(): Promise; isRss(path: string): boolean; hasRss(path: string): boolean; isSsrOnly(path: string): boolean; }