import { BadgeItem, BadgesChangeEvent, BadgesInputValue, TagColor } from '../../../shared/types';
interface UseBadgesOptions {
    /** Valor inicial de badges (puede ser BadgeItem[] o string[]) */
    initialValue?: BadgesInputValue;
    defaultColor?: TagColor;
    colorCycle?: TagColor[];
    maxBadges?: number;
    onChange?: (event: BadgesChangeEvent) => void;
    onAdd?: (item: BadgeItem) => void;
    onRemove?: (item: BadgeItem) => void;
}
interface UseBadgesReturn {
    badges: BadgeItem[];
    inputValue: string;
    isFocused: boolean;
    setInputValue: (value: string) => void;
    setIsFocused: (focused: boolean) => void;
    addBadge: (label: string) => void;
    removeBadge: (id: string) => void;
    canAddMore: boolean;
    getNextColor: () => TagColor;
    setBadges: React.Dispatch<React.SetStateAction<BadgeItem[]>>;
}
export declare const useBadges: ({ initialValue, defaultColor, colorCycle, maxBadges, onChange, onAdd, onRemove, }: UseBadgesOptions) => UseBadgesReturn;
export {};
//# sourceMappingURL=useBadges.d.ts.map