import { type VariantProps } from 'class-variance-authority';
import * as React from 'react';
export declare const kbdVariants: (props?: ({
    variant?: "footer" | "tooltip" | "solid" | "outline" | "ghost" | "default" | null | undefined;
    size?: "xs" | "sm" | "md" | "lg" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
export declare const kbdGroupVariants: (props?: ({
    gap?: "none" | "xs" | "sm" | "md" | "lg" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
export interface KbdProps extends React.ComponentProps<'kbd'>, VariantProps<typeof kbdVariants> {
    /** Icon to display before the key */
    icon?: React.ReactNode;
    /** Icon to display after the key */
    iconAfter?: React.ReactNode;
}
export interface KbdGroupProps extends React.ComponentProps<'span'>, VariantProps<typeof kbdGroupVariants> {
}
/**
 * Keyboard key indicator component for displaying keyboard shortcuts.
 *
 * @example
 * // Basic usage
 * <Kbd>⌘K</Kbd>
 *
 * @example
 * // With variant and size
 * <Kbd variant="solid" size="md">⌘</Kbd>
 *
 * @example
 * // With icon
 * <Kbd icon={<ArrowUp />} />
 */
declare const Kbd: React.ForwardRefExoticComponent<Omit<KbdProps, "ref"> & React.RefAttributes<HTMLElement>>;
/**
 * Group multiple Kbd components together with consistent spacing.
 *
 * @example
 * <KbdGroup>
 *   <Kbd>⌘</Kbd>
 *   <Kbd>K</Kbd>
 * </KbdGroup>
 */
declare const KbdGroup: React.ForwardRefExoticComponent<Omit<KbdGroupProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
export interface ShortcutProps extends Omit<KbdProps, 'children'> {
    /** Array of keys to display (e.g., ['⌘', 'K']) */
    keys: (string | React.ReactNode)[];
    /** Separator between keys (defaults to none, keys are grouped) */
    separator?: React.ReactNode;
}
/**
 * Convenience component for displaying keyboard shortcuts with multiple keys.
 *
 * @example
 * // Simple shortcut
 * <Shortcut keys={['⌘', 'K']} />
 *
 * @example
 * // With separator
 * <Shortcut keys={['⌘', 'Shift', 'P']} separator="+" />
 */
declare const Shortcut: React.ForwardRefExoticComponent<Omit<ShortcutProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
/**
 * Common keyboard key symbols for macOS
 */
export declare const MAC_KEYS: {
    readonly cmd: "⌘";
    readonly command: "⌘";
    readonly ctrl: "⌃";
    readonly control: "⌃";
    readonly alt: "⌥";
    readonly option: "⌥";
    readonly shift: "⇧";
    readonly enter: "↵";
    readonly return: "↵";
    readonly backspace: "⌫";
    readonly delete: "⌦";
    readonly tab: "⇥";
    readonly esc: "esc";
    readonly escape: "esc";
    readonly up: "↑";
    readonly down: "↓";
    readonly left: "←";
    readonly right: "→";
    readonly space: "␣";
};
/**
 * Common keyboard key symbols for Windows/Linux
 */
export declare const WIN_KEYS: {
    readonly cmd: "Ctrl";
    readonly command: "Ctrl";
    readonly ctrl: "Ctrl";
    readonly control: "Ctrl";
    readonly alt: "Alt";
    readonly option: "Alt";
    readonly shift: "Shift";
    readonly enter: "Enter";
    readonly return: "Enter";
    readonly backspace: "Backspace";
    readonly delete: "Delete";
    readonly tab: "Tab";
    readonly esc: "Esc";
    readonly escape: "Esc";
    readonly up: "↑";
    readonly down: "↓";
    readonly left: "←";
    readonly right: "→";
    readonly space: "Space";
};
export { Kbd, KbdGroup, Shortcut };
