/**
 * Inline theme-token snapshot for preview HTML served at `/preview/<sid>/...`.
 *
 * Why: the runtime `PREVIEW_THEME_BRIDGE` reads CSS custom properties from
 * `parent.document.documentElement`. In a standalone tab `parent === window`,
 * so the bridge silently no-ops and the preview document has no theme vars
 * defined — `var(--background)` etc. resolve to empty.
 *
 * Fix: snapshot the canonical `:root` and `.dark` `--*` declarations from
 * `src/ui/app.css` once at startup and inject them as an inline `<style>`
 * block into every served HTML preview document. The runtime bridge still
 * runs in embedded iframes (where `parent !== window`) so live theme toggles
 * continue to flow into already-mounted previews; in standalone tabs the
 * inline snapshot governs.
 *
 * Approach: forgiving line-by-line scan over `app.css`. We track block depth
 * with a brace counter and capture every `--name: value;` declaration inside
 * any top-level `:root { ... }` or `.dark { ... }` block. Multiple `:root`
 * blocks (the file has several — palette overrides, notification colours,
 * etc.) all merge into a single emitted `:root { ... }` and similarly for
 * `.dark`. Comments are stripped. No HTML-parser, no CSS-parser dependency.
 *
 * On parse failure we return an empty string and `console.warn` — the
 * preview route stays functional, just without a theme snapshot.
 */
/**
 * Parse `:root` and `.dark` blocks at depth 1 (i.e. top-level), collecting
 * `--name: value;` declarations from each. Nested at-rules are skipped.
 *
 * Returns `{ root, dark }` — each a record of token name → declared value.
 * Later declarations override earlier ones (last-wins, matching CSS).
 */
export declare function parseThemeBlocks(css: string): {
    root: Record<string, string>;
    dark: Record<string, string>;
};
/**
 * Cached accessor — parses on first call, returns the cached string thereafter.
 */
export declare function getPreviewThemeSnapshot(): string;
/** Reset the cache. Test-only. */
export declare function _resetPreviewThemeSnapshotCache(): void;
//# sourceMappingURL=theme-snapshot.d.ts.map