import type { KeyboardEvent, MouseEvent, ReactElement } from "react";
import { type ChipButtonProps } from "./InternalChipButton";
import { type AvatarProps } from "../Avatar";
import { type IconProps } from "../Icon";
export interface InternalChipProps {
/**
* Label of the chip.
*/
readonly label: string;
/**
* Changes the style of the chip to look different than the default.
*/
readonly active?: boolean;
/**
* Makes the chip look and feel uninteractable.
*/
readonly disabled?: boolean;
/**
* Highlights the chip red.
*/
readonly invalid?: boolean;
/**
* Adds an avatar or icon on the left side of the label.
*
* Size props on both components are overwritten on render.
*
* **Example**
*```jsx
* } />
* } />
* ```
*/
readonly prefix?: ReactElement;
/**
* Adds a component on the right side of the label.
*/
readonly suffix?: ReactElement;
/**
* The label for the interactive chip element for voice over
*/
readonly ariaLabel?: string;
/**
* Allows the chip to be focused.
*
* **NOTE**: Clickable chips are focusable by default so you don't need to
* specify this prop.
*
* This has the same effect as HTML [tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex).
*/
readonly tabIndex?: number;
/**
* Callback when the chip itself gets clicked.
*/
onClick?(event: MouseEvent): void;
/**
* Callback for keyboard interaction with chips (e.g., chip deletion).
*/
onKeyDown?(event: KeyboardEvent): void;
}