import { type Dispatch, type SetStateAction } from 'react'; import type { SxProps, Theme } from '@mui/material/styles'; /** * Options for the useAwakeningStyle hook * * @example * ```tsx * // Basic awakening behavior * const style = useAwakeningStyle({ awakening: true }); * * // With alert state (always highlighted) * const style = useAwakeningStyle({ awakening: true, isAlert: true }); * * // Custom accent color * const style = useAwakeningStyle({ awakening: true, accentColor: '#FF5722' }); * ``` */ export interface AwakeningOptions { /** * Enable awakening behavior (gray-to-accent on hover). * When false (default), components show static accent colors for backward compatibility. * @default false */ awakening?: boolean; /** * Force awakening state (e.g., for alerts, thresholds). * When true, the component shows accent colors even without hover. * @default false */ isAlert?: boolean; /** * Custom accent color. * If not specified, uses stage1 (amber) from the theme. */ accentColor?: string; /** * Glow intensity multiplier. * @default 1.0 */ glowMultiplier?: number; } /** * Return value from the useAwakeningStyle hook */ export interface UseAwakeningStyleReturn { /** Whether component is in awakened state (hovered or alert) */ isAwake: boolean; /** Current hover state */ isHovered: boolean; /** Set hover state - use with onMouseEnter/onMouseLeave */ setIsHovered: Dispatch>; /** Card container sx props - apply to Card component */ cardSx: SxProps; /** Border color (gray or accent) */ borderColor: string; /** Corner accent color (gray or accent) */ cornerColor: string; /** Text/title color (secondary or accent) */ titleColor: string; /** Icon color (muted or accent) */ iconColor: string; /** Primary element color for charts (gray or accent) */ primaryColor: string; /** Secondary element color for charts (always muted) */ secondaryColor: string; /** Progress bar color (gray or accent) */ progressColor: string; /** Progress bar background color */ progressBgColor: string; /** Glow intensity (0 to 1) */ glowIntensity: number; /** Box shadow value */ boxShadow: string; /** Corner size ('30px' or '60px') */ cornerSize: string; /** Accent color being used */ accentColor: string; /** Whether dark mode is active */ isDark: boolean; /** Text shadow for glowing titles */ titleTextShadow: string; } /** * Custom hook for the "Silence to Awakening" (静寂からの覚醒) pattern. * * This hook provides dynamic styling for FUI components that transition from * a gray/muted state (silence) to an accented/highlighted state (awakening) * on hover or when in an alert state. * * @example * ```tsx * const MyCard: React.FC = () => { * const { * cardSx, * setIsHovered, * titleColor, * iconColor, * } = useAwakeningStyle({ awakening: true }); * * return ( * setIsHovered(true)} * onMouseLeave={() => setIsHovered(false)} * > * Title * * * ); * }; * ``` * * @param options - Configuration options * @returns Style values and state handlers */ export declare function useAwakeningStyle(options?: AwakeningOptions): UseAwakeningStyleReturn; //# sourceMappingURL=useAwakeningStyle.d.ts.map