import { Overlay, OverlayRef, ScrollStrategyOptions } from '@angular/cdk/overlay';
import { Subject } from 'rxjs';
import { ContextMenuContentComponent } from './components/context-menu-content/context-menu-content.component';
import { CloseContextMenuEvent, CloseLeafMenuEvent, IContextMenuClickEvent, IContextMenuContext, OverlayRefWithContextMenu } from './models/context-menu.model';
import * as i0 from "@angular/core";
export declare class ContextMenuService {
    private overlay;
    private scrollStrategy;
    isDestroyingLeafMenu: boolean;
    show: Subject<IContextMenuClickEvent>;
    close: Subject<CloseContextMenuEvent>;
    private overlays;
    private fakeElement;
    private readonly rootMenuPositionsFor;
    private readonly subMenuPositions;
    constructor(overlay: Overlay, scrollStrategy: ScrollStrategyOptions);
    openContextMenu(context: IContextMenuContext): void;
    attachContextMenu(overlay: OverlayRef, context: IContextMenuContext): void;
    closeAllContextMenus(closeEvent: CloseContextMenuEvent): void;
    getLastAttachedOverlay(): OverlayRefWithContextMenu;
    destroyLeafMenu({ exceptRootMenu, event }?: CloseLeafMenuEvent): void;
    destroySubMenus(contextMenu: ContextMenuContentComponent): void;
    isLeafMenu(contextMenuContent: ContextMenuContentComponent): boolean;
    private destroyOverlay;
    static ɵfac: i0.ɵɵFactoryDeclaration<ContextMenuService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ContextMenuService>;
}
//# sourceMappingURL=context-menu.service.d.ts.map