import { DiagramWidget } from './diagram-widget';
import { MenuContribution, MenuModelRegistry, CommandContribution, CommandHandler, CommandRegistry, MenuPath } from '@theia/core/lib/common';
import { ApplicationShell, OpenerService } from '@theia/core/lib/browser';
import { EditorManager } from "@theia/editor/lib/browser";
export declare namespace DiagramCommands {
    const CENTER = "diagram:center";
    const FIT = "diagram:fit";
    const EXPORT = "diagram:export";
    const SELECT_ALL = "diagram.selectAll";
    const OPEN_IN_DIAGRAM = "diagram.open";
    const DELETE = "diagram.delete";
}
export declare namespace DiagramMenus {
    const DIAGRAM: MenuPath;
}
export declare class DiagramMenuContribution implements MenuContribution {
    registerMenus(registry: MenuModelRegistry): void;
}
export declare class DiagramCommandHandler implements CommandHandler {
    protected readonly shell: ApplicationShell;
    protected readonly doExecute: (diagram: DiagramWidget) => any;
    constructor(shell: ApplicationShell, doExecute: (diagram: DiagramWidget) => any);
    execute(...args: any[]): any;
    isEnabled(): boolean;
}
export declare class OpenInDiagramHandler implements CommandHandler {
    protected readonly editorManager: EditorManager;
    protected readonly openerService: OpenerService;
    constructor(editorManager: EditorManager, openerService: OpenerService);
    execute(...args: any[]): void;
}
export declare class DiagramCommandContribution implements CommandContribution {
    protected readonly shell: ApplicationShell;
    protected readonly editorManager: EditorManager;
    protected readonly openerService: OpenerService;
    constructor(shell: ApplicationShell, editorManager: EditorManager, openerService: OpenerService);
    registerCommands(registry: CommandRegistry): void;
}
//# sourceMappingURL=diagram-commands.d.ts.map