import * as Redux from 'redux';
import { ModuleParams } from '../View/Components/SharedProps/ModuleViewPopupProps';
import { AdaptableMenuItem, AdaptableContextMenuItemName, AdaptableColumnMenuItemName } from '../AdaptableState/Common/Menu';
import { AdaptableModule } from '../AdaptableState/Common/Types';
import { AdaptableIcon, AdaptableSystemIconName } from '../AdaptableState/Common/AdaptableIcon';
export declare class MenuItemDoReduxAction<MENU_TYPE_NAME extends AdaptableColumnMenuItemName | AdaptableContextMenuItemName = AdaptableColumnMenuItemName | AdaptableContextMenuItemName> implements AdaptableMenuItem<MENU_TYPE_NAME> {
    constructor(name: MENU_TYPE_NAME, label: string, module: AdaptableModule, reduxAction: Redux.Action, icon: AdaptableSystemIconName, isVisible: boolean);
    name: MENU_TYPE_NAME;
    reduxAction: Redux.Action;
    label: string;
    category: AdaptableModule;
    isVisible: boolean;
    icon: AdaptableIcon;
}
export declare class MenuItemDoClickFunction<MENU_TYPE_NAME extends AdaptableColumnMenuItemName | AdaptableContextMenuItemName = AdaptableColumnMenuItemName | AdaptableContextMenuItemName> implements AdaptableMenuItem<MENU_TYPE_NAME> {
    constructor(name: MENU_TYPE_NAME, label: string, module: AdaptableModule, clickFunction: () => void, icon: AdaptableSystemIconName, isVisible: boolean);
    name: MENU_TYPE_NAME;
    onClick: () => void;
    label: string;
    category: AdaptableModule;
    isVisible: boolean;
    icon: AdaptableIcon;
}
export declare class MenuItemShowPopup<MENU_TYPE_NAME extends AdaptableColumnMenuItemName | AdaptableContextMenuItemName = AdaptableColumnMenuItemName | AdaptableContextMenuItemName> implements AdaptableMenuItem<MENU_TYPE_NAME> {
    constructor(name: MENU_TYPE_NAME, label: string, module: AdaptableModule, componentName: string, icon: AdaptableSystemIconName, isVisible: boolean, popupParams?: ModuleParams);
    name: MENU_TYPE_NAME;
    reduxAction: Redux.Action;
    label: string;
    category: AdaptableModule;
    isVisible: boolean;
    icon: AdaptableIcon;
}
