import PropTypes from 'prop-types'; import React, { ComponentType, FocusEvent, FocusEventHandler, HTMLProps, KeyboardEvent, MouseEvent, MouseEventHandler } from 'react'; import { Option, OptionHandler } from '../types'; export interface UseTokenProps extends Omit, 'onBlur'> { onBlur?: (event: Event) => void; onClick?: MouseEventHandler; onFocus?: FocusEventHandler; onRemove?: OptionHandler; option: Option; } export declare function useToken({ onBlur, onClick, onFocus, onRemove, option, ...props }: UseTokenProps): { active: boolean; onBlur: (e: Event) => void; onClick: (e: MouseEvent) => void; onFocus: (e: FocusEvent) => void; onKeyDown: (e: KeyboardEvent) => void; onRemove: (() => void) | undefined; ref: React.Dispatch>; }; export declare function withToken>(Component: ComponentType): { (props: T): React.JSX.Element; displayName: string; propTypes: { onBlur: PropTypes.Requireable<(...args: any[]) => any>; onClick: PropTypes.Requireable<(...args: any[]) => any>; onFocus: PropTypes.Requireable<(...args: any[]) => any>; onRemove: PropTypes.Requireable<(...args: any[]) => any>; option: PropTypes.Validator>>; }; };