import { Disposable, DisposableCollection, Emitter, Resource, URI } from '@theia/core'; import { BinaryBuffer } from '@theia/core/lib/common/buffer'; import { NotebookData, TransientOptions } from '../../common'; import { NotebookModel, NotebookModelProps } from '../view-model/notebook-model'; import { FileService } from '@theia/filesystem/lib/browser/file-service'; import { NotebookCellModel, NotebookCellModelProps } from '../view-model/notebook-cell-model'; import { Deferred } from '@theia/core/lib/common/promise-util'; import { NotebookMonacoTextModelService } from './notebook-monaco-text-model-service'; import { CellEditOperation } from '../notebook-types'; export declare const NotebookProvider: unique symbol; export interface NotebookProviderInfo { readonly notebookType: string; readonly serializer: NotebookSerializer; } export interface NotebookSerializer { options: TransientOptions; toNotebook(data: BinaryBuffer): Promise; fromNotebook(data: NotebookData): Promise; } export interface NotebookWorkspaceEdit { edits: { resource: URI; edit: CellEditOperation; }[]; } export declare class NotebookService implements Disposable { protected fileService: FileService; protected notebookModelFactory: (props: NotebookModelProps) => NotebookModel; protected notebookCellModelFactory: (props: NotebookCellModelProps) => NotebookCellModel; protected textModelService: NotebookMonacoTextModelService; protected willUseNotebookSerializerEmitter: Emitter; readonly onWillUseNotebookSerializer: import("@theia/core").Event; protected readonly disposables: DisposableCollection; protected readonly notebookProviders: Map; protected readonly notebookModels: Map; protected readonly didRegisterNotebookSerializerEmitter: Emitter; readonly onDidRegisterNotebookSerializer: import("@theia/core").Event; protected readonly didRemoveViewTypeEmitter: Emitter; readonly onDidRemoveViewType: import("@theia/core").Event; protected readonly willOpenNotebookTypeEmitter: Emitter; readonly onWillOpenNotebook: import("@theia/core").Event; protected readonly didAddNotebookDocumentEmitter: Emitter; readonly onDidAddNotebookDocument: import("@theia/core").Event; protected readonly didRemoveNotebookDocumentEmitter: Emitter; readonly onDidRemoveNotebookDocument: import("@theia/core").Event; dispose(): void; protected readonly ready: Deferred; /** * Marks the notebook service as ready. From this point on, the service will start dispatching the `onNotebookSerializer` event. */ markReady(): void; registerNotebookSerializer(viewType: string, serializer: NotebookSerializer): Disposable; createNotebookModel(data: NotebookData, viewType: string, resource: Resource): Promise; getNotebookDataProvider(viewType: string): Promise; /** * When the application starts up, notebook providers from plugins are not registered yet. * It takes a few seconds for the plugin host to start so that notebook data providers can be registered. * This methods waits until the notebook provider is registered. */ protected waitForNotebookProvider(type: string): Promise; getNotebookEditorModel(uri: URI): NotebookModel | undefined; getNotebookModels(): Iterable; willOpenNotebook(type: string): Promise; listNotebookDocuments(): NotebookModel[]; applyWorkspaceEdit(workspaceEdit: NotebookWorkspaceEdit): boolean; getCodeCellLanguage(model: NotebookModel): string; } //# sourceMappingURL=notebook-service.d.ts.map