import { c as StorageMode, A as Attribute } from './types-BAqJDAl9.js'; interface ScriptConfig { storageMode: StorageMode; storageKey: string; cookieName: string; attribute: Attribute | Attribute[]; themes: string[]; defaultTheme: string; enableSystem: boolean; /** * Always use the system preference, ignoring any stored theme value. * When true, the script behaves as if `theme: 'system'` is selected on * every load, regardless of what is in the cookie / localStorage. * Mirrors the React provider's `followSystem` prop. */ followSystem: boolean; forcedTheme: string | null; initialTheme: string | null; value: Record | null; enableColorScheme: boolean; themeColor: string | Record | null; disableTransitionOnChange: string | null; respectReducedMotion: boolean; target: string; } interface BuildScriptOptions extends Partial { } /** * Build the inline anti-FOUC script. * * The script body is a raw string literal — NOT a serialized function. This * is intentional: bundlers (esbuild, swc) inject `__name(fn,"name")` wrappers * around named functions when `keepNames` is on, which crashes any * deserialized function body that lacks a global `__name`. Storing the body * as data means no bundler ever rewrites it. * * The body also self-rebinds via `pageshow` so theme is re-applied when a * page is restored from the browser back/forward cache — bfcache snapshots * the DOM at navigation time, and storage may have changed in another tab. */ declare function buildScript(opts: BuildScriptOptions): string; export { type BuildScriptOptions, type ScriptConfig, buildScript };