/** * useGalaxySound Hook * * React hook for playing Galaxy sound effects. * Provides easy integration with components and respects user preferences. */ import { type SoundType, type SoundConfig } from './sound-effects.js'; export interface UseGalaxySoundOptions { /** Enable sounds (default: true) */ enabled?: boolean; /** Master volume 0-1 (default: 0.5) */ volume?: number; /** Debounce time in ms for rapid sounds (default: 50) */ debounceMs?: number; } export interface UseGalaxySoundReturn { /** Play a sound effect */ play: (type: SoundType) => void; /** Play with pitch variation */ playVaried: (type: SoundType, variation?: number) => void; /** Play alert by severity */ playAlert: (severity: 'low' | 'medium' | 'high' | 'critical') => void; /** Toggle mute state */ toggleMute: () => boolean; /** Set volume (0-1) */ setVolume: (volume: number) => void; /** Get current config */ getConfig: () => SoundConfig; /** Update config */ setConfig: (config: Partial) => void; } /** * Hook for playing Galaxy sound effects * * @example * ```tsx * function TablePlanet({ table }) { * const { play } = useGalaxySound(); * * return ( * play('hover')} * onClick={() => play('select')} * > * ... * * ); * } * ``` */ export declare function useGalaxySound(options?: UseGalaxySoundOptions): UseGalaxySoundReturn; /** * Hook for hover sound effects */ export declare function useHoverSound(): () => void; /** * Hook for selection sound effects */ export declare function useSelectionSound(): { onSelect: () => void; onDeselect: () => void; }; /** * Hook for path activation sounds */ export declare function usePathSound(): { onActivate: () => void; onDataFlow: () => void; }; //# sourceMappingURL=useGalaxySound.d.ts.map