import { type FC, type ReactNode, type HTMLAttributes, type MouseEvent, type TouchEvent } from 'react';
import { type CustomComponentProps } from '../../../styles';
import './Tag.types';
export interface TagProps extends CustomComponentProps {
actions?: ReactNode;
disabled?: boolean;
fullWidth?: boolean;
showActionsOnHover?: boolean;
label?: ReactNode;
startIcon?: ReactNode;
endIcon?: ReactNode;
startAdornment?: ReactNode;
endAdornment?: ReactNode;
variant?: 'filled' | 'outlined';
onClick?: (event: MouseEvent) => void;
onTouchStart?: (event: TouchEvent) => void;
['aria-label']?: string;
['aria-haspopup']?: boolean;
slotProps?: {
actions?: HTMLAttributes;
button?: HTMLAttributes;
content?: HTMLAttributes;
label?: HTMLAttributes;
startIcon?: HTMLAttributes;
endIcon?: HTMLAttributes;
startAdornment?: HTMLAttributes;
endAdornment?: HTMLAttributes;
};
}
declare const slots: {
content: {
slot: "content";
name: "MuiTag";
};
button: {
slot: "button";
name: "MuiTag";
};
label: {
slot: "label";
name: "MuiTag";
};
root: {
slot: "root";
name: "MuiTag";
};
endAdornment: {
slot: "endAdornment";
name: "MuiTag";
};
startIcon: {
slot: "startIcon";
name: "MuiTag";
};
endIcon: {
slot: "endIcon";
name: "MuiTag";
};
startAdornment: {
slot: "startAdornment";
name: "MuiTag";
};
actions: {
slot: "actions";
name: "MuiTag";
};
};
export type TagSlots = keyof typeof slots;
declare const Tag: FC;
export default Tag;