/**
 * Theme Script for SSR Flash Prevention
 *
 * Provides an inline script that runs before React hydrates to prevent
 * flash of wrong theme. Mirrors next-themes behavior.
 *
 * @see docs/plans/2026-01-05-dark-mode-theme-provider.md
 */
export interface ThemeScriptOptions {
    /**
     * localStorage key for theme preference
     * @default 'theme'
     */
    storageKey?: string;
    /**
     * Default theme if no preference found
     * @default 'light'
     */
    defaultTheme?: string;
    /**
     * HTML attribute to set (typically 'class' or 'data-theme')
     * @default 'class'
     */
    attribute?: string;
    /**
     * CSP nonce for inline script tag
     */
    nonce?: string;
}
/**
 * Props for ThemeScript React component
 */
export interface ThemeScriptProps {
    /**
     * localStorage key for theme preference
     * @default 'theme'
     */
    storageKey?: string;
    /**
     * Default theme if no preference found
     * @default 'light'
     */
    defaultTheme?: string;
    /**
     * CSP nonce for inline script tag
     */
    nonce?: string;
}
/**
 * Generates inline script for SSR flash prevention
 *
 * Usage in Next.js App Router:
 * ```tsx
 * <script dangerouslySetInnerHTML={{ __html: getThemeScript() }} />
 * ```
 *
 * Precedence: localStorage > cookie > system preference > defaultTheme
 *
 * Note: Cookie is written client-side, so only available on subsequent
 * SSR requests (not first visit).
 */
export declare function getThemeScript(options?: ThemeScriptOptions): string;
/**
 * ThemeScript component for SSR flash prevention
 *
 * Renders an inline script that runs before React hydrates to prevent
 * flash of wrong theme. Place in <head> of your document.
 *
 * @example
 * ```tsx
 * // In Next.js layout.tsx
 * <head>
 *   <ThemeScript />
 * </head>
 * ```
 */
export declare function ThemeScript({ storageKey, defaultTheme, nonce, }?: ThemeScriptProps): React.ReactElement;
