import { ColumnMenuApi } from '../ColumnMenuApi';
import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
import { ApiBase } from './ApiBase';
import { AdaptableColumnMenuItemName, AdaptableIcon, AdaptableSystemColumnMenuItem, CustomColumnMenuContext, CustomColumnMenuItem, CustomGroupColumnMenuItem, MenuCategory } from '../../types';
export declare class ColumnMenuApiImpl extends ApiBase implements ColumnMenuApi {
    constructor(adaptable: IAdaptable);
    showColumnMenu(columnKey: string): void;
    hideColumnMenu(): void;
    getColumnMenuItemsByCategory(category: MenuCategory, context: CustomColumnMenuContext): AdaptableSystemColumnMenuItem<AdaptableColumnMenuItemName>[];
    getColumnMenuItemsByCategories(categories: MenuCategory[], context: CustomColumnMenuContext): AdaptableSystemColumnMenuItem<AdaptableColumnMenuItemName>[];
    createDefaultMenuStructure(context: CustomColumnMenuContext): any;
    getColumnMenuItemByName(menuItemName: AdaptableColumnMenuItemName, context: CustomColumnMenuContext): AdaptableSystemColumnMenuItem<AdaptableColumnMenuItemName>;
    getColumnMenuItemsByNames(menuItemNames: AdaptableColumnMenuItemName[], context: CustomColumnMenuContext): AdaptableSystemColumnMenuItem<AdaptableColumnMenuItemName>[];
    getColumnMenuItemByLabel(label: string, context: CustomColumnMenuContext): AdaptableSystemColumnMenuItem<AdaptableColumnMenuItemName>;
    getColumnMenuItemsByLabels(labels: string[], context: CustomColumnMenuContext): AdaptableSystemColumnMenuItem<AdaptableColumnMenuItemName>[];
    removeAdaptableColumnMenuItemByName(menuItemName: AdaptableColumnMenuItemName, context: CustomColumnMenuContext): any;
    removeAdaptableColumnMenuItemsByNames(menuItemNames: AdaptableColumnMenuItemName[], context: CustomColumnMenuContext): any;
    createGroupMenu(label: string, subMenuItems: CustomColumnMenuItem[], disabled?: boolean, icon?: AdaptableIcon): CustomGroupColumnMenuItem;
}
