/**
* DevExtreme (ui/context_menu/ui.menu_base.d.ts)
* Version: 21.1.0 (build 21016-0316)
* Build date: Sat Jan 16 2021
*
* Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import {
    animationConfig
} from '../../animation/fx';

import DataSource, {
    DataSourceOptions
} from '../../data/data_source';

import HierarchicalCollectionWidget, {
    HierarchicalCollectionWidgetOptions
} from '../hierarchical_collection/ui.hierarchical_collection_widget';

import {
    dxMenuBaseItem
} from '../menu';

/**
 * Warning! This type is used for internal purposes. Do not import it directly.
 */
export interface dxMenuBaseOptions<T = dxMenuBase> extends HierarchicalCollectionWidgetOptions<T> {
    /**
     */
    activeStateEnabled?: boolean;
    /**
     */
    animation?: {
      /**
       * Warning! This type is used for internal purposes. Do not import it directly.
       */
      hide?: animationConfig,
      /**
       * Warning! This type is used for internal purposes. Do not import it directly.
       */
      show?: animationConfig
    };
    /**
     */
    cssClass?: string;
    /**
     */
    dataSource?: string | Array<dxMenuBaseItem> | DataSource | DataSourceOptions;
    /**
     */
    items?: Array<dxMenuBaseItem>;
    /**
     */
    selectByClick?: boolean;
    /**
     */
    selectionMode?: 'none' | 'single';
    /**
     */
    showSubmenuMode?: {
      /**
       * Warning! This type is used for internal purposes. Do not import it directly.
       */
      delay?: {
        /**
         * Warning! This type is used for internal purposes. Do not import it directly.
         */
        hide?: number,
        /**
         * Warning! This type is used for internal purposes. Do not import it directly.
         */
        show?: number
      } | number,
      /**
       * Warning! This type is used for internal purposes. Do not import it directly.
       */
      name?: 'onClick' | 'onHover'
    } | 'onClick' | 'onHover';
}
/**
 * Warning! This type is used for internal purposes. Do not import it directly.
 */
export default class dxMenuBase extends HierarchicalCollectionWidget {
    constructor(element: Element, options?: dxMenuBaseOptions)
    constructor(element: JQuery, options?: dxMenuBaseOptions)
    /**
     */
    selectItem(itemElement: Element): void;
    /**
     */
    unselectItem(itemElement: Element): void;
}
