import React from "react"; import { type InputPrimitiveProps } from "../../Input/index.js"; import type { Icon } from "../../Icon/index.js"; interface TagsPrimitiveProps extends Omit, "size" | "onChange"> { /** * Indicates if the field is disabled. */ disabled?: boolean; /** * Reference to the input element. */ inputRef?: React.Ref; /** * Indicates if the input field is invalid. */ invalid?: boolean; /** * Callback triggered when a tag is added or removed. */ onChange?: (values: string[]) => void; /** * Callback triggered when the input value changes. */ onValueInput?: (value: string) => void; /** * Callback triggered when the value is added to the list. */ onValueAdd?: (value: string) => void; /** * Callback triggered when a tag is removed. */ onValueRemove?: (value: string) => void; /** * Placeholder text for the input field. */ placeholder?: string; /** * Size of the input field. * Refer to `InputPrimitiveProps["size"]` for possible values. */ size?: InputPrimitiveProps["size"]; /** * Icon to be displayed at the start of the input field. */ startIcon?: React.ReactElement | React.ReactElement; /** * Variant of the input field. * Refer to `InputPrimitiveProps["variant"]` for possible values. */ variant?: InputPrimitiveProps["variant"]; /** * Optional selected item. */ value?: string[]; /** * Protected values cannot be removed by the user, these can be simple strings or regex patterns. */ protectedValues?: string[]; } declare const TagsPrimitive: ((props: TagsPrimitiveProps) => React.JSX.Element) & { original: (props: TagsPrimitiveProps) => React.JSX.Element; originalName: string; displayName: string; } & { original: ((props: TagsPrimitiveProps) => React.JSX.Element) & { original: (props: TagsPrimitiveProps) => React.JSX.Element; originalName: string; displayName: string; }; originalName: string; displayName: string; } & { createDecorator: (decorator: import("@webiny/react-composition/types.js").ComponentDecorator<((props: TagsPrimitiveProps) => React.JSX.Element) & { original: (props: TagsPrimitiveProps) => React.JSX.Element; originalName: string; displayName: string; }>) => (props: unknown) => React.JSX.Element; }; export { TagsPrimitive, type TagsPrimitiveProps };