import { CustomEditor, DeployedPlugin } from '../../../common';
import { Disposable } from '@theia/core/lib/common/disposable';
import { ApplicationShell, DefaultOpenerService, OpenWithService, WidgetManager, WidgetOpenerOptions } from '@theia/core/lib/browser';
import { CustomEditorWidget } from './custom-editor-widget';
export declare class PluginCustomEditorRegistry {
    private readonly editors;
    private readonly pendingEditors;
    private readonly resolvers;
    private readonly onWillOpenCustomEditorEmitter;
    readonly onWillOpenCustomEditor: import("@theia/core").Event<string>;
    protected readonly defaultOpenerService: DefaultOpenerService;
    protected readonly widgetManager: WidgetManager;
    protected readonly shell: ApplicationShell;
    protected readonly openWithService: OpenWithService;
    protected init(): void;
    registerCustomEditor(editor: CustomEditor, plugin: DeployedPlugin): Disposable;
    resolveWidget: (widget: CustomEditorWidget, options?: WidgetOpenerOptions | undefined) => void;
    registerResolver(viewType: string, resolver: (widget: CustomEditorWidget, options?: WidgetOpenerOptions) => void): Disposable;
}
//# sourceMappingURL=plugin-custom-editor-registry.d.ts.map