import { OverlayRef } from '@angular/cdk/overlay';
import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit, QueryList } from '@angular/core';
import { IContextMenuOptions } from '../../models/context-menu-options.model';
import { CloseLeafMenuEvent, IContextMenuClickEvent } from '../../models/context-menu.model';
import { ContextMenuItemDirective } from '../../directives/context-menu-item.directive';
import * as i0 from "@angular/core";
export interface ILinkConfig {
    click: (item: any, $event?: MouseEvent) => void;
    enabled?: (item: any) => boolean;
    html: (item: any) => string;
}
export declare class ContextMenuContentComponent implements OnInit, OnDestroy, AfterViewInit {
    menuItems: ContextMenuItemDirective[];
    item: any;
    event: MouseEvent | KeyboardEvent;
    parentContextMenu: ContextMenuContentComponent;
    menuClass: string;
    overlay: OverlayRef;
    isLeaf: boolean;
    execute: EventEmitter<{
        event: MouseEvent | KeyboardEvent;
        item: any;
        menuItem: ContextMenuItemDirective;
    }>;
    openSubMenu: EventEmitter<IContextMenuClickEvent>;
    closeLeafMenu: EventEmitter<CloseLeafMenuEvent>;
    closeAllMenus: EventEmitter<{
        event: MouseEvent;
    }>;
    menuElement: ElementRef;
    menuItemElements: QueryList<ElementRef>;
    autoFocus: boolean;
    useBootstrap4: boolean;
    private _keyManager;
    private subscription;
    constructor(options: IContextMenuOptions);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    focus(): void;
    stopEvent($event: MouseEvent): void;
    isMenuItemEnabled(menuItem: ContextMenuItemDirective): boolean;
    isMenuItemVisible(menuItem: ContextMenuItemDirective): boolean;
    isDisabled(link: ILinkConfig): boolean;
    onKeyEvent(event: KeyboardEvent): void;
    keyboardOpenSubMenu(event?: KeyboardEvent): void;
    keyboardMenuItemSelect(event?: KeyboardEvent): void;
    onCloseLeafMenu(event: KeyboardEvent): void;
    closeMenu(event: MouseEvent): void;
    onOpenSubMenu(menuItem: ContextMenuItemDirective, event?: MouseEvent | KeyboardEvent): void;
    onMenuItemSelect(menuItem: ContextMenuItemDirective, event: MouseEvent | KeyboardEvent): void;
    private cancelEvent;
    static ɵfac: i0.ɵɵFactoryDeclaration<ContextMenuContentComponent, [{ optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ContextMenuContentComponent, "context-menu-content", never, { "menuItems": { "alias": "menuItems"; "required": false; }; "item": { "alias": "item"; "required": false; }; "event": { "alias": "event"; "required": false; }; "parentContextMenu": { "alias": "parentContextMenu"; "required": false; }; "menuClass": { "alias": "menuClass"; "required": false; }; "overlay": { "alias": "overlay"; "required": false; }; "isLeaf": { "alias": "isLeaf"; "required": false; }; }, { "execute": "execute"; "openSubMenu": "openSubMenu"; "closeLeafMenu": "closeLeafMenu"; "closeAllMenus": "closeAllMenus"; }, never, never, false, never>;
}
//# sourceMappingURL=context-menu-content.component.d.ts.map