import { FC } from "react";

//#region src/components/KeyboardShortcut/KeyboardShortcut.d.ts

/**
 * Enum for available keyboard keys
 */
declare enum KeyList {
  '⌘' = "\u2318",
  Ctrl = "Ctrl",
  Alt = "Alt",
  '⌥' = "\u2325",
  Shift = "Shift",
  Meta = "Meta",
  F = "F",
  K = "K",
  L = "L",
  P = "P",
  S = "S",
  A = "A",
  B = "B",
  C = "C",
  D = "D",
  E = "E",
  G = "G",
  H = "H",
  I = "I",
  J = "J",
  M = "M",
  N = "N",
  O = "O",
  Q = "Q",
  R = "R",
  T = "T",
  U = "U",
  V = "V",
  W = "W",
  X = "X",
  Y = "Y",
  Z = "Z",
  Enter = "Enter",
  Escape = "Escape",
  Backspace = "Backspace",
  Tab = "Tab",
  Space = "Space",
  ArrowUp = "ArrowUp",
  ArrowDown = "ArrowDown",
  ArrowLeft = "ArrowLeft",
  ArrowRight = "ArrowRight",
  '↑' = "\u2191",
  '↓' = "\u2193",
  '←' = "\u2190",
  '→' = "\u2192",
}
/**
 * Type-safe keyboard shortcut combinations
 * Note: Using string type to avoid union type complexity issues
 * Expected format: "Key + Key" (e.g., "⌘ + F", "Ctrl + Shift + K")
 */
type KeyboardShortcutType = string;
type KeyboardShortcutProps = {
  /** The keyboard shortcut combination (e.g., "⌘ + F" or "Ctrl + K") */
  shortcut: KeyboardShortcutType;
  /** Callback function triggered when the shortcut is pressed */
  onTriggered?: () => void;
  /** Whether to display the shortcut visually (default: true) */
  display?: boolean;
  /** Whether to disable the shortcut trigger (default: false) */
  disabled?: boolean;
  /** Additional CSS classes */
  className?: string;
  /** Size of the keyboard shortcut display */
  size?: 'sm' | 'md' | 'lg';
};
/**
 * KeyboardShortcut Component
 *
 * A reusable component that displays keyboard shortcuts and listens for key combinations.
 * Automatically adapts to Mac (⌘, ⌥) and Windows/Linux (Ctrl, Alt) conventions.
 *
 * @example
 * ```tsx
 * <KeyboardShortcut
 *   shortcut="⌘ + F"
 *   onTriggered={() => setShowSearch(true)}
 * />
 * ```
 */
declare const KeyboardShortcut: FC<KeyboardShortcutProps>;
//#endregion
export { KeyList, KeyboardShortcut, KeyboardShortcutProps, KeyboardShortcutType };
//# sourceMappingURL=KeyboardShortcut.d.ts.map