import { HtmlProps, SlotClassNames, SlotStyles } from '../types/slots.types.js';
import { ColorValue } from '../themeProvider/color.types.js';
/** How much the chip stands out. Independent of its colour. */
export declare enum ChipStyleType {
/** Solid fill. */
Filled = "filled",
/** A light tint of the colour behind text in the colour. The default. */
Light = "light",
/** Border and text in the colour, no fill. */
Outlined = "outlined"
}
/** Text Chip renders of its own, for translating it. */
export interface ChipLabels {
/** The remove button, read out by screen readers (default `Remove`). */
remove?: string;
}
export type ChipSlots = 'root' | 'inner' | 'thumbnail' | 'text' | 'removeIcon';
export interface ChipProps extends HtmlProps {
className?: string;
text?: string;
thumbnail?: React.ReactNode;
styleType?: ChipStyleType;
/** A `ThemeColor` (default `Neutral`) or any CSS colour, such as `'var(--brand)'`. */
color?: ColorValue;
showRemoveIcon?: boolean;
/** Accessible name for the remove button. Default `'Remove'`. */
onClick?: () => void;
onRemove?: () => void;
/** Overrides the text Chip renders of its own. Merged per key. */
labels?: ChipLabels;
/** Classes for the inner elements. See `ChipSlots`. */
classNames?: SlotClassNames;
/** Inline styles for the inner elements. See `ChipSlots`. */
styles?: SlotStyles;
}
export interface ChipContainerProps extends HtmlProps {
className?: string;
children?: React.ReactNode;
inline?: boolean;
}