/**
* Theme utilities for managing dark/light mode.
*
* @packageDocumentation
*/
export type Theme = 'light' | 'dark' | 'system';
/**
* Theme manager with reactive state.
*
* **IMPORTANT**: In SSR contexts (SvelteKit), call `initialize()` in `onMount` to avoid hydration mismatches.
*
* @example
* ```typescript
* // In a component
* import { onMount } from 'svelte';
* import { themeManager } from '@composable-svelte/core/styles';
*
* onMount(() => {
* themeManager.initialize();
* });
*
* // Get current theme
* console.log(themeManager.theme); // 'light' | 'dark' | 'system'
*
* // Set theme
* themeManager.setTheme('dark');
*
* // Toggle between light and dark
* themeManager.toggle();
* ```
*/
export declare function createThemeManager(): {
readonly theme: Theme;
readonly resolvedTheme: "light" | "dark";
readonly initialized: boolean;
initialize: () => void;
setTheme: (newTheme: Theme) => void;
toggle: () => void;
};
/**
* Global theme manager instance (singleton pattern).
*
* **SSR Usage**: Call `themeManager.initialize()` in `onMount` to avoid hydration issues.
*
* @example
* ```svelte
*
*
*
* ```
*/
export declare const themeManager: {
readonly theme: Theme;
readonly resolvedTheme: "light" | "dark";
readonly initialized: boolean;
initialize: () => void;
setTheme: (newTheme: Theme) => void;
toggle: () => void;
};
//# sourceMappingURL=theme.d.ts.map