import { Accessor, ParentProps, Setter } from 'solid-js'; import { Themes } from '@terraprisma/core'; export type ThemesProviderValue = { themes: Themes; currentTheme: Accessor; themeId: Accessor; setThemeId: Setter; }; export declare const GalobalWrapperID = "terraprisma-app"; /** * A component that creates Terraprisma's global context with the themes defined and creates * the signal that will hold the current theme. * * If there are no custom themes defined, Terraprisma's default themes are used. * * @param defaultThemeId The theme that is going to be used by default - defaults to the first theme in {@link themes} */ export declare function setupTerraprisma(themes: Themes, // should themes be reactive as well? defaultThemeId?: Themes[number]['id']): readonly [(props: ParentProps) => import("solid-js").JSX.Element, Record]; /** * @description Gets access to the global metadata regarding the current theme * of the website and available themes. * * This is supposed to be used inside a `` component since it is the one whom * initializes the global Terraprisma context. */ export declare function useTheme(): ThemesProviderValue;