import { type HTMLAttributes, type ReactNode } from 'react';
import { type VariantProps } from 'class-variance-authority';
export type KbdNamedKey = 'Meta' | 'Control' | 'Alt' | 'Shift' | 'Enter' | 'Escape' | 'Space' | 'Tab' | 'Delete' | 'Backspace' | 'ArrowUp' | 'ArrowDown' | 'ArrowLeft' | 'ArrowRight';
declare const kbdVariants: (props?: ({
size?: "sm" | "md" | "lg" | null | undefined;
intensity?: "outline" | "solid" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
export type KbdSeparator = 'none' | 'plus' | 'then';
/**
* Optional override map for keys. Consumers can rewrite the visible
* glyph or the spoken name for product-specific shortcuts (e.g. mapping
* a "Brand" modifier to a special icon).
*/
export interface KbdGlyphOverride {
glyph?: string;
spoken?: string;
}
interface KbdBaseProps extends Omit, 'children'>, VariantProps {
separator?: KbdSeparator;
glyphMap?: Partial>;
}
interface KbdWithKeysProps extends KbdBaseProps {
keys: Array;
children?: never;
}
interface KbdWithChildrenProps extends KbdBaseProps {
keys?: never;
children: ReactNode;
}
export type KbdProps = KbdWithKeysProps | KbdWithChildrenProps;
export declare const Kbd: import("react").ForwardRefExoticComponent>;
export declare const kbdGlyphs: {
mac: Record;
win: Record;
spoken: Record;
};
export {};
//# sourceMappingURL=kbd.d.ts.map