import { ProcessedKeysCodes } from '../../../constans';
import { type Writable } from 'svelte/store';
import type { Position } from '../../../types';
export declare const eventStop: (event: Event) => void;
export declare const isChoseItemCase: (event: KeyboardEvent, extraKeys?: ProcessedKeysCodes[]) => boolean;
export declare const isKeyboardHandleCase: (event?: MouseEvent) => boolean;
export declare const handleFocusReturnToBtn: (ref: HTMLButtonElement, menuVisible: boolean, openedByKeyboard$: Writable<boolean>) => Promise<void>;
export declare const handleFocusReturnToElem: (ref: HTMLButtonElement, menuVisible: boolean, openedByKeyboard$: Writable<boolean>) => Promise<void>;
export declare const handleFocusOnMenu: (ref: HTMLUListElement, menuVisible: boolean, isOpenedByKeyboard: boolean) => Promise<void>;
export declare const returnFocusToMenuItem: (refMenuItems: {
    [key: string]: HTMLLIElement;
}, id: string) => Promise<void>;
export declare const handleKeyDownMainMenu: (event: KeyboardEvent, closeCallback: () => void) => void;
export declare const handleKeyDownOpenSubMenuItem: (event: KeyboardEvent, openSubmenuFn: () => void, getSubItemFn: () => HTMLLIElement) => Promise<void>;
export declare const handleKeyDownSubMenu: (event: KeyboardEvent, returnFromSubMenu: () => void, { itemIdReturnCase, id }: {
    itemIdReturnCase: Writable<string | undefined>;
    id: string;
}, closeSettingsMenuFn: () => void) => Promise<void>;
export declare const handleChoseMenuItem: (event: KeyboardEvent, selectFn: () => void) => void;
export declare const handleSwitchMenuItem: (event: KeyboardEvent, enabled: boolean, selectFn: (value: boolean) => void) => void;
export declare const getContextMenuPositionByButton: (btnRef: HTMLButtonElement) => Position;
export declare const getContextMenuPositionByHotKey: (overlayRef: HTMLDivElement | undefined) => Position;
