import { type Ref } from 'vue';
import type { ContactAttribute } from './useCommunicationAttributes';
interface UseCommunicationSubMenuOptions {
    activeChannelType: Ref<string | null>;
    showSubMenu: Ref<boolean>;
    frozenAttribute: Ref<ContactAttribute | null>;
    hoveredAttribute: Ref<ContactAttribute | null>;
    hasMultipleChannels: (channelType: string) => boolean;
    isAttributeBlocked: (attribute: ContactAttribute | null | undefined) => boolean;
}
/**
 * Управляет состоянием подменю выбора канала и hover-состояниями атрибутов.
 */
export declare function useCommunicationSubMenu({ activeChannelType, showSubMenu, frozenAttribute, hoveredAttribute, hasMultipleChannels, isAttributeBlocked, }: UseCommunicationSubMenuOptions): {
    subMenuTop: Ref<number, number>;
    handleAttributeMouseEnter: (attribute: ContactAttribute, eventTarget: EventTarget | null) => EventTarget | null;
    handleAttributeMouseLeave: () => void;
    keepSubMenuOpen: () => void;
    closeSubMenu: () => void;
    alignSubMenuWithTarget: (panelRef: Ref<HTMLElement | null>, targetEl: HTMLElement | null) => void;
};
export {};
