import { ActionMessage, ExportSvgAction, ServerStatusAction } from 'sprotty/lib';
import { TheiaDiagramServer } from './theia-diagram-server';
import { LanguageClientContribution, ILanguageClient, Workspace, Location } from '@theia/languages/lib/browser';
import { EditorManager } from '@theia/editor/lib/browser';
import { TheiaFileSaver } from './theia-file-saver';
import { DiagramWidgetRegistry } from '../theia/diagram-widget-registry';
import { QuickPickService } from '@theia/core/lib/browser';
export interface OpenInTextEditorMessage {
    location: Location;
    forceOpen: boolean;
}
/**
 * Connects sprotty DiagramServers to a Theia LanguageClientContribution.
 *
 * Used to tunnel sprotty actions to and from the sprotty server through
 * the LSP.
 *
 * Instances bridge the gap between the sprotty DI containers (one per
 * diagram) and a specific language client from the Theia DI container
 * (one per application).
 */
export declare class TheiaSprottyConnector {
    readonly languageClientContribution: LanguageClientContribution;
    readonly fileSaver: TheiaFileSaver;
    readonly editorManager: EditorManager;
    readonly diagramWidgetRegistry: DiagramWidgetRegistry;
    readonly workspace?: Workspace | undefined;
    readonly quickPickService?: QuickPickService | undefined;
    private servers;
    constructor(languageClientContribution: LanguageClientContribution, fileSaver: TheiaFileSaver, editorManager: EditorManager, diagramWidgetRegistry: DiagramWidgetRegistry, workspace?: Workspace | undefined, quickPickService?: QuickPickService | undefined);
    connect(diagramServer: TheiaDiagramServer): void;
    disconnect(diagramServer: TheiaDiagramServer): void;
    save(uri: string, action: ExportSvgAction): void;
    openInTextEditor(message: OpenInTextEditorMessage): void;
    showStatus(widgetId: string, status: ServerStatusAction): void;
    sendThroughLsp(message: ActionMessage): void;
    getLanguageClient(): Promise<ILanguageClient>;
    receivedThroughLsp(message: ActionMessage): void;
}
//# sourceMappingURL=theia-sprotty-connector.d.ts.map