import { BrandTheme, WidgetVariant } from '@fanfare-io/fanfare-sdk-core/theme'; import { Accessor } from 'solid-js'; /** * Context value for theme state. * * `theme` is the merged value a component renders with, every field filled from the SDK defaults. * `overrides` answers the different question of what the host actually asked for: the raw fields * the providers above this point set, accumulated but never merged with defaults, and `{}` where no * provider set anything. A merged value cannot answer that — a host naming the default family is * indistinguishable there from a host naming nothing. */ export interface ThemeContextValue { /** The merged theme, with defaults applied */ theme: Accessor; /** The active variant */ variant: Accessor; /** The raw fields providers up the tree explicitly set, without defaults */ overrides: Accessor; isRoot: boolean; } export declare const ThemeContext: import('solid-js').Context; export declare function useThemeContext(): ThemeContextValue; export declare function createMergedTheme(parent: ThemeContextValue, theme: Accessor, variant: Accessor): ThemeContextValue;