import { type ReactNode } from 'react';
import type { CanvasThemeTokens, ThemeAppearance, ThemeMode } from './types';
interface ThemeContextValue {
    theme: CanvasThemeTokens;
    mode: ThemeMode;
    cssVariables: Record<string, string>;
    setMode: (mode: ThemeMode) => void;
}
export interface ThemeProviderProps {
    children: ReactNode;
    appearance?: ThemeAppearance;
    autoDetect?: boolean;
    shadowRoot?: ShadowRoot | null;
}
/**
 * Theme provider component that injects CSS variables into shadow DOM
 */
export declare function ThemeProvider({ children, appearance, autoDetect, shadowRoot, }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
/**
 * Hook to access theme context
 */
export declare function useTheme(): ThemeContextValue;
/**
 * Hook to get specific theme token with CSS variable fallback
 */
export declare function useThemeToken<K extends keyof CanvasThemeTokens>(token: K): string;
/**
 * Hook to get CSS variable name for a token
 */
export declare function useThemeVar(token: keyof CanvasThemeTokens): string;
export {};
