import { ChangeDetectorRef, ElementRef, Renderer2 } from '@angular/core';
import { AbstractContextMenuComponent } from '../../contextmenu/abstract-context-menu.component';
import { GridContextMenuOption } from './grid-context-menu-option';
import { IAfterGuiAttachedParams, IHeaderParams } from 'ag-grid-community';
import * as i0 from "@angular/core";
export interface GridHeaderMenuActionHandler {
    executeHeaderContextMenuAction(elementId: string, actionId: string, headerData: Object): void;
    isHeaderContextMenuOptionEnabled(elementId: string, actionId: string, headerData: Object): boolean;
}
export declare class GridHeaderContextMenu<Object> extends AbstractContextMenuComponent<GridContextMenuOption<Object>> {
    protected el: ElementRef;
    protected myRenderer: Renderer2;
    protected cdr: ChangeDetectorRef;
    actionHandler: GridHeaderMenuActionHandler;
    headerData: Object;
    constructor(el: ElementRef, myRenderer: Renderer2, cdr: ChangeDetectorRef);
    refresh(params: IHeaderParams): boolean;
    afterGuiAttached?(params?: IAfterGuiAttachedParams): void;
    setActionManager(actionHandler: GridHeaderMenuActionHandler): void;
    setHeaderData(headerData: Object): void;
    openWithOptions(event: MouseEvent, newContextMenuOptions: Array<GridContextMenuOption<Object>>): void;
    protected existsAtLeastOneActionEnabled(): boolean;
    isEnabled(elementId: string, actionId: string): boolean;
    isIconEnabled(elementId: string, actionId: string): boolean;
    executeAction(event: any, elementId: string, actionId: string): void;
    showSubmenu(event: any, actionId: string, selectedChild: ElementRef, elementId: string): void;
    protected getOption(actionId: string): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<GridHeaderContextMenu<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<GridHeaderContextMenu<any>, "systelab-grid-header-context-menu", never, {}, {}, never, ["*"], false, never>;
}
