/**
 * @bytelyst/command-palette — Cmd-K palette for ByteLyst products.
 *
 * Exports (Wave 3 — 0.1.0):
 *   Components
 *     <CommandRegistryProvider>  — wrap your app once
 *     <CommandPalette>           — the Cmd-K dialog
 *   Hooks
 *     useRegisterCommands(cmds)  — contribute commands for component lifetime
 *     useCommands()              — read the current registry snapshot
 *     useCommandRegistry()       — imperative access (rarely needed)
 *     useCommandPalette(opts)    — open/closed state + global hotkey
 *   Utilities
 *     scoreCommand(fields, q)    — internal fuzzy scorer, exposed for tests
 *     fuzzyScore(hay, q)         — single-string scorer
 */

export { CommandPalette } from './CommandPalette.js';
export type { CommandPaletteProps } from './CommandPalette.js';

export {
  CommandRegistryProvider,
  useRegisterCommands,
  useCommands,
  useCommandRegistry,
} from './registry.js';
export type { CommandRegistryProviderProps } from './registry.js';

export { useCommandPalette } from './useCommandPalette.js';
export type {
  UseCommandPaletteHelpers,
  UseCommandPaletteOptions,
} from './useCommandPalette.js';

export { fuzzyScore, scoreCommand } from './fuzzy.js';
export type { ScoredCommandFields } from './fuzzy.js';

export type { Command, CommandMode } from './types.js';
