import * as React from 'react';
import { IconId, IconProps } from '../icon/Icon';
import { IconButtonProps } from '../button/IconButton';
import { variants } from '../../theme/Typography';
import { ChipProps as MuiChipProps } from '@mui/material/Chip';
import { AvatarProps } from '../avatar';
import { Link } from '@mui/material';
export declare const chipVariants: readonly ["default", "primary", "success", "error", "warning", "dark", "darker", "black"];
type ChipVariant = (typeof chipVariants)[number];
declare const iconSizesMap: Record<keyof typeof sizeStyles, IconProps['size']>;
export declare const chipIconSizes: (keyof typeof iconSizesMap)[];
type ChipIconSize = (typeof chipIconSizes)[number];
declare const sizeStyles: {
    XS: {
        borderRadius: string;
        height: string;
    };
    S: {
        borderRadius: string;
        height: string;
    };
    M: {
        borderRadius: string;
        height: string;
    };
    L: {
        fontFamily: "Source Sans Pro";
        fontSize: string;
        fontWeight: number;
        fontStretch: string;
        fontStyle: string;
        lineHeight: string;
        letterSpacing: string;
        borderRadius: string;
        height: string;
    };
};
export declare const chipSizes: (keyof typeof sizeStyles)[];
type ChipSize = (typeof chipSizes)[number];
export declare const chipComponents: readonly ["span", "li", "a"];
export type ChipProps = Pick<MuiChipProps, 'id' | 'label' | 'sx' | 'onClick' | 'onDelete' | 'onMouseEnter' | 'onMouseLeave'> & {
    /**
     * The icon to display
     */
    iconId?: IconId;
    /**
     * Property to show icon at the right of the text
     * @default false
     */
    iconRight?: boolean;
    /**
     * The color of the icon
     */
    iconColor?: string;
    /**
     * The size of the icon
     */
    iconSize?: ChipIconSize;
    /**
     * Tooltip for icon
     */
    iconTooltip?: string;
    /**
     * Properties for avatar showed within the chip. Avatar will not be displayed if this prop is not defined.
     */
    avatarProps?: Omit<AvatarProps, 'size'>;
    /**
     * The HTML tag to use for the chip.
     */
    component?: 'span' | 'li' | typeof Link;
    /**
     * Property to disable chip
     * @default false
     */
    disabled?: boolean;
    /**
     * Property to hide background color
     * @default false
     */
    transparentBackgroundColor?: boolean;
    /**
     * The variant to use.
     */
    variant?: ChipVariant;
    /**
     * The size of the chip.
     */
    size?: ChipSize;
    /**
     * The variant of the typography.
     */
    typographyVariant?: keyof typeof variants;
    /**
     * Property to show delete icon
     */
    isDeleteable?: boolean;
    /**
     * Function called when mouse hovers on/off the chip.
     */
    /**
     * Disabled ripple in delete button
     */
    disableDeleteRipple?: boolean;
    onHover?: (isHovered: boolean) => void;
    href?: string;
    tooltip?: string;
    onMouseDownDelete?: IconButtonProps['onMouseDown'];
};
/**
 * A component that displays a chip containing simple text.
 * If chips doesn't fit in the available space, they will be truncated with ellipsis.
 */
declare const Chip: React.ForwardRefExoticComponent<Pick<MuiChipProps, "label" | "id" | "sx" | "onClick" | "onMouseEnter" | "onMouseLeave" | "onDelete"> & {
    /**
     * The icon to display
     */
    iconId?: IconId;
    /**
     * Property to show icon at the right of the text
     * @default false
     */
    iconRight?: boolean;
    /**
     * The color of the icon
     */
    iconColor?: string;
    /**
     * The size of the icon
     */
    iconSize?: ChipIconSize;
    /**
     * Tooltip for icon
     */
    iconTooltip?: string;
    /**
     * Properties for avatar showed within the chip. Avatar will not be displayed if this prop is not defined.
     */
    avatarProps?: Omit<AvatarProps, "size">;
    /**
     * The HTML tag to use for the chip.
     */
    component?: "span" | "li" | typeof Link;
    /**
     * Property to disable chip
     * @default false
     */
    disabled?: boolean;
    /**
     * Property to hide background color
     * @default false
     */
    transparentBackgroundColor?: boolean;
    /**
     * The variant to use.
     */
    variant?: ChipVariant;
    /**
     * The size of the chip.
     */
    size?: ChipSize;
    /**
     * The variant of the typography.
     */
    typographyVariant?: keyof typeof variants;
    /**
     * Property to show delete icon
     */
    isDeleteable?: boolean;
    /**
     * Function called when mouse hovers on/off the chip.
     */
    /**
     * Disabled ripple in delete button
     */
    disableDeleteRipple?: boolean;
    onHover?: (isHovered: boolean) => void;
    href?: string;
    tooltip?: string;
    onMouseDownDelete?: IconButtonProps["onMouseDown"];
} & React.RefAttributes<HTMLSpanElement>>;
export default Chip;
