import { ChangeDetectorRef, ElementRef, Renderer2 } from '@angular/core';
import { AbstractContextMenuComponent } from '../../contextmenu/abstract-context-menu.component';
import { GridContextMenuOption } from './grid-context-menu-option';
import * as i0 from "@angular/core";
export interface GridRowMenuActionHandler {
    isContextMenuOptionEnabled(elementId: string, actionId: string): boolean;
    executeContextMenuAction(elementId: string, actionId: string): void;
}
export declare class GridContextMenuComponent<T> extends AbstractContextMenuComponent<GridContextMenuOption<T>> {
    protected el: ElementRef;
    protected myRenderer: Renderer2;
    protected cdr: ChangeDetectorRef;
    protected actionHandler: GridRowMenuActionHandler;
    constructor(el: ElementRef, myRenderer: Renderer2, cdr: ChangeDetectorRef);
    setActionManager(actionHandler: GridRowMenuActionHandler): void;
    setRowIndex(rowIndex: number): void;
    openWithOptions(event: MouseEvent, newContextMenuOptions: Array<GridContextMenuOption<T>>): void;
    protected existsAtLeastOneActionEnabled(): boolean;
    isIconEnabled(elementId: string, actionId: string): boolean;
    isEnabled(elementId: string, actionId: string): boolean;
    executeAction(event: any, elementId: string, actionId: string): void;
    protected getOption(actionId: string): GridContextMenuOption<T>;
    static ɵfac: i0.ɵɵFactoryDeclaration<GridContextMenuComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<GridContextMenuComponent<any>, "systelab-grid-context-menu", never, {}, {}, never, ["*"], false, never>;
}
