import { ReadonlyObservable } from '@usels/core'; import { ConfigurableWindow } from '../../shared/configurable.mjs'; import '@legendapp/state'; type KeyModifier = "Alt" | "AltGraph" | "CapsLock" | "Control" | "Fn" | "FnLock" | "Meta" | "NumLock" | "ScrollLock" | "Shift" | "Symbol" | "SymbolLock"; interface UseKeyModifierOptions extends ConfigurableWindow { /** Events to listen for modifier state changes */ events?: string[]; /** Initial value before any event fires */ initial?: Initial; } type UseKeyModifierReturn = ReadonlyObservable; /** * Framework-agnostic reactive tracker for keyboard modifier key state. * * Uses `event.getModifierState()` to detect whether a modifier key * (Shift, Control, Alt, CapsLock, etc.) is currently active. */ declare function createKeyModifier(modifier: KeyModifier, options?: UseKeyModifierOptions): UseKeyModifierReturn; export { type KeyModifier, type UseKeyModifierOptions, type UseKeyModifierReturn, createKeyModifier };