export type ThemeTokenValue = string | number; export type ThemeTokenMap = Record; export interface SdThemeMeta { name?: string; schemaVersion?: number; cssVarPrefix?: string; } export type SdThemeMode = 'light' | 'dark'; export interface SdThemeConfig { tokens?: ThemeTokenMap; components?: Record; meta?: SdThemeMeta; token?: ThemeTokenMap; component?: Record; [key: string]: unknown; } export interface SDThemeNormalized { tokens: ThemeTokenMap; components: Record; meta: Required> & Pick; } export declare function normalizeTokenKey(key: string): string; export declare function normalizeTheme(theme?: SdThemeConfig): SDThemeNormalized; export declare function resolveThemeToken(theme: SDThemeNormalized, componentName: string, tokenKey: string): ThemeTokenValue | undefined; export declare function getThemeCSSVariables(theme: SDThemeNormalized): Record; export declare function applyThemeCSSVariables(target: HTMLElement, theme: SDThemeNormalized, previousKeys?: Set): Set; export declare function clearThemeCSSVariables(target: HTMLElement, keys: Set): void;