import { IRPCProtocol } from '@opensumi/ide-connection';
import { Uri, UriComponents } from '@opensumi/ide-core-common';
import { ExtensionDocumentDataManager } from '../../../common/vscode';
import { ExtensionNotebookDocumentManager, INotebookDocumentsAndEditorsDelta } from '../../../common/vscode/notebook';
import { ExtHostNotebookDocument } from './ext.host.notebookdocument';
import type { NotebookCellsChangedEventDto } from '@opensumi/ide-editor';
import type vscode from 'vscode';
export declare class ExtensionNotebookDocumentManagerImpl implements ExtensionNotebookDocumentManager {
    private extHostDoc;
    private readonly rpcProtocol;
    private readonly _proxy;
    private readonly _documents;
    private _onDidOpenNotebookDocument;
    private _onDidCloseNotebookDocument;
    private _onDidChangeNotebookDocument;
    private _onDidSaveNotebookDocument;
    onDidOpenNotebookDocument: import("@opensumi/ide-core-common").Event<vscode.NotebookDocument>;
    onDidCloseNotebookDocument: import("@opensumi/ide-core-common").Event<vscode.NotebookDocument>;
    onDidChangeNotebookDocument: import("@opensumi/ide-core-common").Event<vscode.NotebookDocumentChangeEvent>;
    onDidSaveNotebookDocument: import("@opensumi/ide-core-common").Event<vscode.NotebookDocument>;
    constructor(rpcProtocol: IRPCProtocol, extHostDoc: ExtensionDocumentDataManager);
    get notebookDocuments(): vscode.NotebookDocument[];
    getNotebookDocument(uri: Uri, relaxed: true): ExtHostNotebookDocument | undefined;
    getNotebookDocument(uri: Uri): ExtHostNotebookDocument;
    $acceptDocumentAndEditorsDelta(delta: INotebookDocumentsAndEditorsDelta): void;
    $acceptModelChanged(uri: UriComponents, event: NotebookCellsChangedEventDto, isDirty: boolean, newMetadata?: any): void;
    $acceptDirtyStateChanged(uri: UriComponents, isDirty: boolean): void;
    $acceptModelSaved(uri: UriComponents): void;
}
//# sourceMappingURL=ext.host.notebook.d.ts.map