import * as react from 'react'; import * as tailwind_variants from 'tailwind-variants'; import * as _heroui_system_rsc from '@heroui/system-rsc'; import { HTMLHeroUIProps, PropGetter } from '@heroui/system-rsc'; import { SlotsToClasses, KbdSlots, KbdVariantProps } from '@heroui/theme'; import { ReactRef } from '@heroui/react-utils'; import { KbdKey } from './utils.js'; interface Props extends HTMLHeroUIProps<"kbd"> { /** * Ref to the DOM node. */ ref?: ReactRef; /** * The key or keys to be displayed. */ keys?: KbdKey | KbdKey[]; /** * Classname or List of classes to change the classNames of the element. * if `className` is passed, it will be added to the base slot. * * @example * ```ts * * ``` */ classNames?: SlotsToClasses; } type UseKbdProps = Props & KbdVariantProps; declare function useKbd(originalProps: UseKbdProps): { Component: _heroui_system_rsc.As; slots: { base: (slotProps?: ({} & tailwind_variants.ClassProp) | undefined) => string; abbr: (slotProps?: ({} & tailwind_variants.ClassProp) | undefined) => string; content: (slotProps?: ({} & tailwind_variants.ClassProp) | undefined) => string; } & { base: (slotProps?: ({} & tailwind_variants.ClassProp) | undefined) => string; abbr: (slotProps?: ({} & tailwind_variants.ClassProp) | undefined) => string; content: (slotProps?: ({} & tailwind_variants.ClassProp) | undefined) => string; } & {}; classNames: SlotsToClasses<"abbr" | "content" | "base"> | undefined; title: string | undefined; children: react.ReactNode; keysToRender: KbdKey[]; getKbdProps: PropGetter; }; type UseKbdReturn = ReturnType; export { type UseKbdProps, type UseKbdReturn, useKbd };