import { ModelSource, ServerStatusAction, IActionDispatcher } from 'sprotty/lib';
import { Widget } from "@phosphor/widgets";
import { Message } from "@phosphor/messaging/lib";
import URI from "@theia/core/lib/common/uri";
import { BaseWidget } from '@theia/core/lib/browser/widgets/widget';
export interface DiagramWidgetOptions {
    id: string;
    svgContainerId: string;
    uri: URI;
    diagramType: string;
    modelSource: ModelSource;
    actionDispatcher: IActionDispatcher;
}
export declare type DiagramWidgetFactory = (options: DiagramWidgetOptions) => DiagramWidget;
export declare const DiagramWidgetFactory: unique symbol;
export declare class DiagramWidget extends BaseWidget {
    private statusIconDiv;
    private statusMessageDiv;
    readonly id: string;
    readonly svgContainerId: string;
    readonly uri: URI;
    readonly diagramType: string;
    readonly modelSource: ModelSource;
    readonly actionDispatcher: IActionDispatcher;
    constructor(options: DiagramWidgetOptions);
    protected onAfterAttach(msg: Message): void;
    protected getBoundsInPage(element: Element): {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    protected onResize(msg: Widget.ResizeMessage): void;
    protected onActivateRequest(msg: Message): void;
    setStatus(status: ServerStatusAction): void;
    protected removeClasses(element: Element, keep: number): void;
}
//# sourceMappingURL=diagram-widget.d.ts.map