/// <reference types="react" />
import * as React from '@theia/core/shared/react';
import { interfaces } from '@theia/core/shared/inversify';
import { NotebookRendererMessagingService, CellOutputWebview, NotebookRendererRegistry, NotebookEditorWidgetService, NotebookCellOutputsSplice, NotebookKernelService, NotebookEditorWidget } from '@theia/notebook/lib/browser';
import { NotebookCellModel } from '@theia/notebook/lib/browser/view-model/notebook-cell-model';
import { WebviewWidget } from '../../webview/webview';
import { WidgetManager } from '@theia/core/lib/browser';
import { WorkspaceTrustService } from '@theia/workspace/lib/browser';
import { Disposable, DisposableCollection, QuickPickService } from '@theia/core';
import { NotebookModel } from '@theia/notebook/lib/browser/view-model/notebook-model';
export declare function createCellOutputWebviewContainer(ctx: interfaces.Container, cell: NotebookCellModel, notebook: NotebookModel): interfaces.Container;
export declare class CellOutputWebviewImpl implements CellOutputWebview, Disposable {
    protected readonly messagingService: NotebookRendererMessagingService;
    protected readonly cell: NotebookCellModel;
    protected readonly notebook: NotebookModel;
    protected readonly widgetManager: WidgetManager;
    protected readonly workspaceTrustService: WorkspaceTrustService;
    protected readonly notebookRendererRegistry: NotebookRendererRegistry;
    protected readonly notebookEditorWidgetService: NotebookEditorWidgetService;
    protected readonly notebookKernelService: NotebookKernelService;
    protected readonly quickPickService: QuickPickService;
    readonly id: string;
    protected editor: NotebookEditorWidget | undefined;
    protected readonly elementRef: React.RefObject<HTMLDivElement>;
    protected outputPresentationListeners: DisposableCollection;
    protected webviewWidget: WebviewWidget;
    protected toDispose: DisposableCollection;
    protected init(): Promise<void>;
    render(): React.JSX.Element;
    attachWebview(): void;
    isAttached(): boolean;
    updateOutput(update: NotebookCellOutputsSplice): void;
    private requestOutputPresentationUpdate;
    private handleWebviewMessage;
    getPreloads(): string[];
    private createWebviewContent;
    private preloadsScriptString;
    dispose(): void;
}
//# sourceMappingURL=cell-output-webview.d.ts.map