export interface TagItem {
    id: string;
    name: string;
    color?: string;
}
export interface TagsManagerProps {
    /** All available tags */
    tags: TagItem[];
    /** IDs of currently selected tags */
    selectedIds: string[];
    /** Called when selection changes */
    onChange: (ids: string[]) => void;
    /** Called to create a new tag; should return the created tag */
    onCreateTag?: (name: string) => Promise<TagItem | null | undefined>;
    /** Called to update a tag name */
    onUpdateTag?: (id: string, name: string) => Promise<void>;
    /** Called to delete a tag */
    onDeleteTag?: (id: string) => Promise<void>;
    /** Whether create is in progress */
    isCreating?: boolean;
    /** Whether update is in progress */
    isUpdating?: boolean;
    /** Whether delete is in progress */
    isDeleting?: boolean;
    /** Label displayed above the input */
    label?: string;
    /** Placeholder for the search input */
    searchPlaceholder?: string;
    /** Whether the component is disabled */
    disabled?: boolean;
    /** Additional className for the root container */
    className?: string;
}
export declare function TagsManager({ tags, selectedIds, onChange, onCreateTag, onUpdateTag, onDeleteTag, isCreating, isUpdating, isDeleting, label, searchPlaceholder, disabled, className, }: TagsManagerProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=tags-manager.d.ts.map