import type { AnimationBuilder, MenuI } from '../../interface';
export declare const menuController: {
  registerAnimation: (name: string, animation: AnimationBuilder) => void;
  get: (menu?: string | null) => Promise<HTMLGascoMenuElement | undefined>;
  getMenus: () => Promise<HTMLGascoMenuElement[]>;
  getOpen: () => Promise<HTMLGascoMenuElement | undefined>;
  isEnabled: (menu?: string | null) => Promise<boolean>;
  swipeGesture: (shouldEnable: boolean, menu?: string | null) => Promise<HTMLGascoMenuElement | undefined>;
  isAnimating: () => Promise<boolean>;
  isOpen: (menu?: string | null) => Promise<boolean>;
  enable: (shouldEnable: boolean, menu?: string | null) => Promise<HTMLGascoMenuElement | undefined>;
  toggle: (menu?: string | null) => Promise<boolean>;
  close: (menu?: string | null) => Promise<boolean>;
  open: (menu?: string | null) => Promise<boolean>;
  _getOpenSync: () => HTMLGascoMenuElement | undefined;
  _createAnimation: (type: string, menuCmp: MenuI) => any;
  _register: (menu: MenuI) => void;
  _unregister: (menu: MenuI) => void;
  _setOpen: (menu: MenuI, shouldOpen: boolean, animated: boolean) => Promise<boolean>;
  _setActiveMenu: (menu: MenuI) => void;
};
