import { BeamTheme, ThemeTypes, Accent, ProductType } from '@viasat/beam-shared/utils/constants'; export declare const toAttr: (t: BeamTheme) => string; export declare const fromAttr: (attr?: string) => BeamTheme; export declare const ALL_THEMES: string[]; export interface BeamThemeContextValue { theme: BeamTheme; systemMode: ThemeTypes | undefined; systemModeEnabled: boolean | undefined; setSystemModeEnabled: (enabled: boolean) => void; setMode: (mode: ThemeTypes) => void; setAccent: (accent: Accent) => void; setProductType: (productType: ProductType) => void; toggleMode: () => void; } export interface BeamThemeProviderProps { children: React.ReactNode; /** * The default mode, accent and productType to use. */ defaultTheme?: Partial; /** * If provided, the mode will be locked to the provided value and all mode controls will be a no-op. */ forcedMode?: ThemeTypes; /** * If true, the system mode will be used as the default mode and will * dynamically update mode when the system theme changes. Otherwise, the default mode will be used. * * @default false */ enableSystemMode?: boolean; } export declare const BeamThemeProvider: React.FC; export declare const useBeamTheme: () => BeamThemeContextValue;