import { type ReactNode } from "react"; import { type StyleProp, type ViewStyle, type TextStyle } from "../../style/index.js"; export interface KbdSkin { /** The key-cap box geometry: a centered row, fixed cap height, min width, radius, border width, padding. */ capBox: ViewStyle; /** The key label type (size / line-height / weight / tracking). */ labelType: TextStyle; /** The chord wrapper: a centered row holding each cap and its separator. */ chordRow: ViewStyle; } export interface KbdProps { /** A single key label, rendered as one cap. Ignored when `keys` is set. */ children?: ReactNode; /** * A multi-key shortcut, rendered as one cap per key with a separator between them. * Pass a whitespace-separated string (`"⌘ K"`) or an array (`["⌘", "K"]`). A single * entry renders one cap, identical to passing that key as `children`. When set, `keys` * takes precedence over `children`. */ keys?: string | string[]; /** * Render a key SEQUENCE (press one, then the next), separating caps with a gap * instead of the default `+` combo joiner. Only affects the `keys` form. */ sequence?: boolean; /** E2E hook forwarded to the root element. */ testID?: string; /** Outer layout composition only (width/flex within a parent), never a restyle hook. */ style?: StyleProp; } /** Build a Kbd component from a platform skin. */ export declare function createKbd(skin: KbdSkin): ({ children, keys, sequence, testID, style }: KbdProps) => import("react").JSX.Element; //# sourceMappingURL=kbd.shared.d.ts.map