import { MutableRefObject } from "react";
import { UiTagDef, UiTagsProps } from "./types.js";
type InteractionState = {
    moreOpen: boolean;
    addOpen: boolean;
    tags: Record<string, HTMLButtonElement>;
    more: HTMLButtonElement | null;
    add: HTMLButtonElement | null;
    close: HTMLButtonElement | null;
    save: HTMLButtonElement | null;
    input: HTMLInputElement | null;
};
export declare function useTagsInteractions(rootRef: MutableRefObject<HTMLDivElement | null>, hiddenTagsRef: MutableRefObject<HTMLDivElement | null>, showedTags: UiTagDef[], hiddenTags: UiTagDef[], onTagClick: UiTagsProps["onTagClick"], onTagAdd: UiTagsProps["onTagAdd"], onTagRemove: UiTagsProps["onTagRemove"]): {
    tag: string;
    setTag: import("react").Dispatch<import("react").SetStateAction<string>>;
    onAddOpen: () => void;
    onAddClose: () => void;
    onMoreOpen: () => void;
    onMoreClose: () => void;
    handleKeyDown: (event: import("react").KeyboardEvent<Element>) => void;
    interactionState: import("react").RefObject<InteractionState>;
    showedFocusedIndex: number;
    hiddenFocusedIndex: number;
    onTagAddHandler: () => void;
    onTagRemoveHandler: (tag: UiTagDef) => void;
    onTagClickHandler: (tag: UiTagDef) => void;
};
export {};
//# sourceMappingURL=interactions.d.ts.map