/**
 * TagInput type definitions
 * @countermeasure/web-components/form/tag-input
 */
export interface TagSuggestion {
    /** Underlying tag value. */
    value: string;
    /** Optional display label (defaults to `value`). */
    label?: string;
    /** Optional accent color for the chip (any CSS color). */
    color?: string;
    /** Optional grouping category shown in the dropdown. */
    category?: string;
}
export interface TagInputConfig {
    /** Container element (or selector) the input is mounted into. */
    container: HTMLElement | string;
    /** Initial set of tags. */
    tags?: string[];
    /**
     * Static list of suggestions or an async function for autocomplete.
     */
    suggestions?: TagSuggestion[] | ((query: string) => TagSuggestion[] | Promise<TagSuggestion[]>);
    /** Maximum number of tags allowed. */
    maxTags?: number;
    /**
     * Allow the same tag value more than once.
     * @default false
     */
    allowDuplicates?: boolean;
    /**
     * Placeholder text for the underlying input.
     * @default 'Add tag...'
     */
    placeholder?: string;
    /**
     * Character used to split pasted/typed input into multiple tags.
     * @default ','
     */
    delimiter?: string;
    /** Additional CSS class names. */
    className?: string;
    /** Called whenever the tag list changes. */
    onChange?: (tags: string[]) => void;
}
//# sourceMappingURL=types.d.ts.map