/**
 * Theme Provider for Fluid SDK
 * Handles CSS variable injection using portal-core's theme engine.
 * Accepts ThemeDefinition objects and resolves them into CSS via generateThemeCSS.
 */
import { type ReactNode } from "react";
import type { ThemeDefinition } from "../types/theme";
type ThemeMode = "light" | "dark";
/**
 * Context value for theme management.
 * All properties are readonly since context values should not be mutated by consumers.
 */
interface ThemeContextValue {
    /** Currently active theme definition */
    readonly currentTheme: ThemeDefinition | null;
    /** Switch to a different theme */
    readonly setTheme: (theme: ThemeDefinition) => void;
    /** Switch between light and dark mode for the current theme */
    readonly setThemeMode: (mode: ThemeMode) => void;
    /** Current theme mode */
    readonly mode: ThemeMode | undefined;
}
export interface FluidThemeProviderProps {
    children: ReactNode;
    /** Initial theme to apply */
    initialTheme?: ThemeDefinition;
    /** Container element for scoped theme application (defaults to document.documentElement) */
    container?: HTMLElement | null;
}
export declare function FluidThemeProvider({ children, initialTheme, container }: FluidThemeProviderProps): React.JSX.Element;
/**
 * Hook to access theme context
 * Must be used within a FluidThemeProvider
 */
export declare function useThemeContext(): ThemeContextValue;
export {};
//# sourceMappingURL=FluidThemeProvider.d.ts.map