import { default as React } from 'react';
export type TagManagerTag = {
    /**
     * The visible text of the tag.
     */
    label?: string;
    /**
     * Marks a tag that should be added (used to differentiate newly added tags).
     */
    toAdd?: boolean;
    /**
     * Marks a tag that should be removed (used to differentiate tags flagged for deletion).
     */
    toRemove?: boolean;
};
export type TagManagerProps = {
    /**
     * The list of existing tags to be listed.
     */
    tagList: TagManagerTag[];
    /**
     * The list of tags used as suggestions for the built-in AutoSuggest.
     */
    tagSuggestions: TagManagerTag[];
    /**
     * Callback function triggered when the list of tags changes.
     *
     * For instance when a tag was added by the AutoSuggest or when a tag is marked to be deleted.
     *
     * This function returns the updated list of tags where tags may have additional properties indicating whether they
     * have to be removed or added to your data.
     *
     * @param newTags The updated list of tags.
     *
     * @example
     * [
        {
            label: 'Foo',
        },
        {
            label: 'Bar',
            toAdd: true,
        },
        {
            label: 'Lorem ipsum',
            toRemove: true,
        }
    ]
     */
    onTagListChange?: (newTags: TagManagerTag[]) => void;
    /**
     * The placeholder message for the AutoSuggest input.
     */
    placeholder?: string;
    /**
     * The placeholder message for custom tag in the AutoSuggest dropdown.
     *
     * This is only relevant when having custom tags enabled.
     */
    customTagPlaceholder?: string;
    /**
     * The header message for existing tags in the AutoSuggest dropdown.
     *
     * This is only relevant when having custom tags enabled.
     */
    dropdownSeparatorText?: string;
    /**
     * Enables or disabled to add custom tags from the AutoSuggest dropdown.
     *
     * @default true
     */
    useCustomTags?: boolean;
    /**
     * Define whether the input shall be shown and to allow to select tags.
     *
     * @default true
     */
    showInput?: boolean;
    /**
     * The message to be shown when no tag suggestion could be found for the entered value of the AutoSuggest.
     */
    noItemMessage?: string | React.ReactNode;
    /**
     * Additional classes to be set on the wrapper element.
     */
    className?: string;
};
declare const TagManager: (props: TagManagerProps) => import("react/jsx-runtime").JSX.Element;
export default TagManager;
