import { ComponentType, SVGProps, ReactElement } from 'react';

/** An SVG icon component representing a single keyboard key (e.g., Cmd, Shift, a letter). */
type KeyIcon = ComponentType<SVGProps<SVGSVGElement>>;
/** Available visual variants for the keyboard shortcut display. */
declare const KEYBOARD_SHORTCUT_VARIANTS: {
    /** Outlined keys with a subtle border + light glyph — for dark surfaces / app chrome. Default. */
    readonly OUTLINED: "outlined";
    /** Filled keys with a solid background — for emphasis. */
    readonly FILLED: "filled";
};
/** Visual variant for the KeyboardShortcut component. */
type KeyboardShortcutVariant = (typeof KEYBOARD_SHORTCUT_VARIANTS)[keyof typeof KEYBOARD_SHORTCUT_VARIANTS];
/** Props for the KeyboardShortcut display component. */
interface KeyboardShortcutProps {
    /** Ordered array of key icon components representing the shortcut (e.g., `[IconCommand, IconLetterK]` for ⌘K). */
    keys: KeyIcon[];
    /** Visual style variant. @default "outlined" */
    variant?: KeyboardShortcutVariant;
    /**
     * When true, the border + glyph (outlined) or fill + glyph (filled) follow the surrounding text
     * color (`currentColor`) instead of fixed tokens, so the chip reads on any surface — light or
     * dark. Use on surfaces where the fixed-color variants wouldn't read (e.g. a prompt-launcher hero
     * on a light backdrop). @default false
     */
    adaptive?: boolean;
    /** Additional CSS class name. */
    className?: string;
}

declare function KeyboardShortcut({ keys, variant, adaptive, className, }: KeyboardShortcutProps): ReactElement;

declare function IconCtrl(props: SVGProps<SVGSVGElement>): ReactElement;

export { IconCtrl, KEYBOARD_SHORTCUT_VARIANTS, type KeyIcon, KeyboardShortcut, type KeyboardShortcutProps, type KeyboardShortcutVariant };
