import { type MutableRefObject } from "react";
import { type IUiTagDef, type IUiTagsProps } from "./types.js";
type InteractionState = {
    moreOpen: boolean;
    addOpen: boolean;
    add: HTMLButtonElement | null;
    close: HTMLButtonElement | null;
    save: HTMLButtonElement | null;
    input: HTMLInputElement | null;
};
export declare function useTagsInteractions(tagsContainerRef: MutableRefObject<HTMLDivElement | null>, tooltipTagsContainerRef: MutableRefObject<HTMLDivElement | null>, showedTags: IUiTagDef[], hiddenTags: IUiTagDef[], onTagAdd: IUiTagsProps["onTagAdd"], onTagRemove: IUiTagsProps["onTagRemove"], onTagClick: IUiTagsProps["onTagClick"]): {
    tag: string;
    setTag: import("react").Dispatch<import("react").SetStateAction<string>>;
    onAddOpen: () => void;
    onAddClose: () => void;
    onMoreOpen: () => void;
    onMoreClose: () => void;
    onTagAddHandler: () => void;
    onTagRemoveHandler: (removedTag: IUiTagDef) => void;
    onTagClickHandler: (clickedTag: IUiTagDef) => void;
    interactionState: import("react").RefObject<InteractionState>;
};
export {};
//# sourceMappingURL=interactions.d.ts.map