import React from 'react'; import { ThemeManager, FontManager, ThemeInstaller, ThemeConfig, FontOverride, ThemeResolver } from '@mks2508/shadcn-basecoat-theme-manager'; import { ThemeManagementModal as ThemeManagementModalComponent } from './components/ThemeManagementModal'; import { FontSettingsModal as FontSettingsModalComponent } from './components/FontSettingsModal'; import { SettingsModal as SettingsModalComponent } from './components/SettingsModal'; import { ThemeManagementContent as ThemeManagementContentComponent } from './components/ThemeManagementContent'; import { FontSettingsContent as FontSettingsContentComponent } from './components/FontSettingsContent'; export { useAnimatedTheme } from './hooks/useAnimatedTheme'; export type { AnimationPreset, Direction, IAnimatedThemeOptions } from './hooks/useAnimatedTheme'; export { ANIMATION_PRESETS, DIRECTIONAL_PRESETS, DIRECTION_OPTIONS } from './hooks/useAnimatedTheme'; export { AnimationSettings } from './components/AnimationSettings'; export type { IAnimationSettings, IAnimationSettingsProps } from './components/AnimationSettings'; export { SettingsModalComponent as SettingsModal }; export type { ISettingsModalProps } from './components/SettingsModal'; export { ThemeManagementContentComponent as ThemeManagementContent }; export type { IThemeManagementContentProps } from './components/ThemeManagementContent'; export { FontSettingsContentComponent as FontSettingsContent }; export type { IFontSettingsContentProps } from './components/FontSettingsContent'; /** * Context para el Theme Manager */ interface ThemeContextValue { themeManager: ThemeManager | null; fontManager: FontManager | null; installer: ThemeInstaller | null; currentTheme: string; currentMode: 'light' | 'dark' | 'auto'; themes: ThemeConfig[]; fontOverrides: FontOverride; initialized: boolean; isServer: boolean; loading: boolean; error: string | null; setTheme: (theme: string, mode?: 'light' | 'dark' | 'auto') => Promise; installTheme: (url: string) => Promise; setFontOverride: (category: 'sans' | 'serif' | 'mono', fontId: string) => Promise; } /** * Provider principal de temas para React */ interface ThemeProviderProps { children: React.ReactNode; defaultTheme?: string; defaultMode?: 'light' | 'dark' | 'auto'; themeResolver?: ThemeResolver; registryUrl?: string; registryData?: any; storageKey?: string; enableTransitions?: boolean; } export declare function ThemeProvider({ children, defaultTheme, defaultMode, themeResolver, registryUrl, registryData, storageKey, enableTransitions }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element; /** * Hook para usar el Theme Manager */ export declare function useTheme(): ThemeContextValue; /** * Componente instalador de temas */ export declare function ThemeInstallerComponent(): import("react/jsx-runtime").JSX.Element; /** * Props para modales */ interface ModalProps { open: boolean; onOpenChange: (open: boolean) => void; } export { ThemeManagementModalComponent as ThemeManagementModal }; export { FontSettingsModalComponent as FontSettingsModal }; export type { ModalProps, ThemeContextValue, ThemeProviderProps }; export { generateFOUCScript } from '@mks2508/shadcn-basecoat-theme-manager'; export type { IFOUCScriptConfig } from '@mks2508/shadcn-basecoat-theme-manager';