/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
import { IContextMenuDelegate } from "../../../base/browser/contextmenu.mjs";
import { Disposable } from "../../../base/common/lifecycle.mjs";
import { IMenuService } from "../../actions/common/actions.mjs";
import { IContextKeyService } from "../../contextkey/common/contextkey.mjs";
import { IKeybindingService } from "../../keybinding/common/keybinding.mjs";
import { INotificationService } from "../../notification/common/notification.mjs";
import { ITelemetryService } from "../../telemetry/common/telemetry.mjs";
import { IThemeService } from "../../theme/common/themeService.mjs";
import { IContextMenuHandlerOptions } from './contextMenuHandler';
import { IContextMenuMenuDelegate, IContextMenuService, IContextViewService } from './contextView';
export declare class ContextMenuService extends Disposable implements IContextMenuService {
    private readonly telemetryService;
    private readonly notificationService;
    private readonly contextViewService;
    private readonly keybindingService;
    private readonly themeService;
    private readonly menuService;
    private readonly contextKeyService;
    readonly _serviceBrand: undefined;
    private _contextMenuHandler;
    private get contextMenuHandler();
    private readonly _onDidShowContextMenu;
    readonly onDidShowContextMenu: import("../../../base/common/event.mjs").Event<void>;
    private readonly _onDidHideContextMenu;
    readonly onDidHideContextMenu: import("../../../base/common/event.mjs").Event<void>;
    constructor(telemetryService: ITelemetryService, notificationService: INotificationService, contextViewService: IContextViewService, keybindingService: IKeybindingService, themeService: IThemeService, menuService: IMenuService, contextKeyService: IContextKeyService);
    configure(options: IContextMenuHandlerOptions): void;
    showContextMenu(delegate: IContextMenuDelegate | IContextMenuMenuDelegate): void;
}
export declare namespace ContextMenuMenuDelegate {
    function transform(delegate: IContextMenuDelegate | IContextMenuMenuDelegate, menuService: IMenuService, globalContextKeyService: IContextKeyService): IContextMenuDelegate;
}
