/** * Vega-Lite lazy loading (spec: "Available globals in widget script blocks"). * Vega + Vega-Lite + vega-embed (~500KB) are not bundled — injected from a * CDN on first actual use and cached thereafter. `vegaEmbedProxy` is the * stable function reference handed to every widget script's closure; only * *calling* it triggers the load, so passing it around before first use is free. */ declare global { interface Window { vegaEmbed?: (el: Element, spec: unknown, opts?: unknown) => Promise<{ view: { finalize(): void; }; }>; } } export declare function ensureVegaLoaded(): Promise; export declare function vegaEmbedProxy(el: Element, spec: unknown, opts?: unknown): Promise<{ view: { finalize(): void; }; }>;