import { type ReactNode } from 'react'; import type { BrandVariant, ThemeMode } from './types'; interface DesignContextValue { brand: BrandVariant; mode: ThemeMode; setBrand: (brand: BrandVariant) => void; setMode: (mode: ThemeMode) => void; toggleMode: () => void; } interface DesignProviderProps { children: ReactNode; brand?: BrandVariant; mode?: ThemeMode; onBrandChange?: (brand: BrandVariant) => void; onModeChange?: (mode: ThemeMode) => void; } export declare function DesignProvider({ children, brand: initialBrand, mode: initialMode, onBrandChange, onModeChange, }: DesignProviderProps): import("react/jsx-runtime").JSX.Element; /** * Hook to access design context * * Returns default values if DesignProvider is not present. * Components will work but theme switching will not be functional. * * To enable full functionality, wrap your app with DesignProvider: * ```tsx * * * * ``` */ export declare function useDesign(): DesignContextValue; /** * Hook to get current brand */ export declare function useBrand(): readonly [BrandVariant, (brand: BrandVariant) => void]; /** * Hook to get current theme mode */ export declare function useThemeMode(): { mode: ThemeMode; setMode: (mode: ThemeMode) => void; toggleMode: () => void; }; /** * Hook to get current theme object */ export declare function useITechTheme(): import("@fluentui/tokens").Theme; export {}; //# sourceMappingURL=hooks.d.ts.map