import { IAdaptableBlotter } from '../Utilities/Interface/IAdaptableBlotter'; import { IStrategy } from './Interface/IStrategy'; import { Action } from 'redux'; import { IColumn } from '../Utilities/Interface/IColumn'; import { AdaptableBlotterMenuItem } from '../Utilities/Interface/AdaptableBlotterMenu'; import { IEntitlement } from '../PredefinedConfig/DesignTimeState/EntitlementsState'; /** * Base class for all strategies and does most of the work of creating menus * Each strategy is reponsible for managing state (through InitState()) */ export declare abstract class AdaptableStrategyBase implements IStrategy { Id: string; protected blotter: IAdaptableBlotter; constructor(Id: string, blotter: IAdaptableBlotter); initializeWithRedux(): void; popupMenuItem: AdaptableBlotterMenuItem; protected InitState(): void; getPopupMenuItem(): AdaptableBlotterMenuItem; protected hasPopupMenu(): boolean; protected addPopupMenuItem(): void; addColumnMenuItem(column: IColumn): void; getStrategyEntitlement(): IEntitlement; isVisibleStrategy(): boolean; isReadOnlyStrategy(): boolean; createMenuItemShowPopup(Label: string, ComponentName: string, GlyphIcon: string, PopupParams?: string): void; createColumnMenuItemReduxAction(Label: string, GlyphIcon: string, Action: Action): any; createColumnMenuItemShowPopup(Label: string, ComponentName: string, GlyphIcon: string, PopupParams?: string): void; private addMenuItemToStore; canCreateColumnMenuItem(column: IColumn, blotter: IAdaptableBlotter, functionType?: string): boolean; }