import { TagColor } from './tag';
import { InputSize } from './types';
export interface BadgeItem {
    id: string;
    label: string;
    color?: TagColor;
}
/** Tipo de entrada para badges: puede ser un array de BadgeItem o un array de strings */
export type BadgesInputValue = BadgeItem[] | string[];
export type BadgesChangeType = 'add' | 'remove';
export interface BadgesChangeEvent {
    type: BadgesChangeType;
    item: BadgeItem;
    items: BadgeItem[];
}
export interface BadgesProps {
    /** Lista inicial de badges (puede ser array de BadgeItem o array de strings) */
    value?: BadgesInputValue;
    /** Placeholder del input */
    placeholder?: string;
    /** Label del componente */
    label?: string;
    /** Texto de ayuda */
    helperText?: string;
    /** Mensaje de error */
    error?: string;
    /** Color por defecto para nuevos badges */
    defaultColor?: TagColor;
    /** Colores cíclicos para badges (si se define, se ignora defaultColor) */
    colorCycle?: TagColor[];
    /** Tamaño del componente */
    size?: InputSize;
    /** Si está deshabilitado */
    disabled?: boolean;
    /** Si ocupa todo el ancho */
    fullWidth?: boolean;
    /** Máximo número de badges permitidos */
    maxBadges?: number;
    /** Evento cuando cambia la lista de badges (add o remove) */
    onChange?: (event: BadgesChangeEvent) => void;
    /** Evento cuando se agrega un badge */
    onAdd?: (item: BadgeItem) => void;
    /** Evento cuando se elimina un badge */
    onRemove?: (item: BadgeItem) => void;
    /** Evento de focus */
    onFocus?: (event?: React.FocusEvent<HTMLInputElement>) => void;
    /** Evento de blur */
    onBlur?: (event?: React.FocusEvent<HTMLInputElement>) => void;
    /** Clases adicionales para el contenedor */
    className?: string;
}
//# sourceMappingURL=badges.d.ts.map