import { ExtensionDocumentDataManager, IExtensionDocumentModelOpenedEvent } from '../../../common/vscode';
import { Uri } from '../../../common/vscode/ext-types';
import { IMainThreadNotebookDocumentsShape, INotebookDocumentPropertiesChangeData, INotebookModelAddedData } from '../../../common/vscode/notebook';
import type { CellKind, NotebookCellDto, NotebookCellInternalMetadata, NotebookCellMetadata, NotebookCellsChangedEventDto, NotebookDocumentMetadata, NotebookOutputDto, NotebookOutputItemDto } from '@opensumi/ide-editor';
import type vscode from 'vscode';
export declare class ExtHostCell {
    readonly notebook: ExtHostNotebookDocument;
    private readonly _extHostDocument;
    private readonly _cellData;
    static asModelAddData(cell: NotebookCellDto): IExtensionDocumentModelOpenedEvent;
    private _outputs;
    private _metadata;
    private _previousResult;
    private _internalMetadata;
    readonly handle: number;
    readonly uri: Uri;
    readonly cellKind: CellKind;
    private _apiCell;
    private _mime;
    constructor(notebook: ExtHostNotebookDocument, _extHostDocument: ExtensionDocumentDataManager, _cellData: NotebookCellDto);
    get internalMetadata(): NotebookCellInternalMetadata;
    get apiCell(): vscode.NotebookCell;
    setOutputs(newOutputs: NotebookOutputDto[]): void;
    setOutputItems(outputId: string, append: boolean, newOutputItems: NotebookOutputItemDto[]): void;
    setMetadata(newMetadata: NotebookCellMetadata): void;
    setInternalMetadata(newInternalMetadata: NotebookCellInternalMetadata): void;
    setMime(newMime: string | undefined): void;
}
export declare class ExtHostNotebookDocument {
    private readonly _proxy;
    private readonly _textDocuments;
    readonly uri: Uri;
    private static _handlePool;
    readonly handle: number;
    private readonly _cells;
    private readonly _notebookType;
    private _notebook;
    private _metadata;
    private _versionId;
    private _isDirty;
    private _disposed;
    constructor(_proxy: IMainThreadNotebookDocumentsShape, _textDocuments: ExtensionDocumentDataManager, uri: Uri, data: INotebookModelAddedData);
    dispose(): void;
    get versionId(): number;
    get apiNotebook(): vscode.NotebookDocument;
    acceptDocumentPropertiesChanged(data: INotebookDocumentPropertiesChangeData): void;
    acceptDirty(isDirty: boolean): void;
    acceptModelChanged(event: NotebookCellsChangedEventDto, isDirty: boolean, newMetadata: NotebookDocumentMetadata | undefined): vscode.NotebookDocumentChangeEvent;
    private _validateIndex;
    private _validateRange;
    private _getCells;
    private _save;
    private _spliceNotebookCells;
    private _moveCells;
    private _setCellOutputs;
    private _setCellOutputItems;
    private _changeCellLanguage;
    private _changeCellMime;
    private _changeCellMetadata;
    private _changeCellInternalMetadata;
    getCellFromApiCell(apiCell: vscode.NotebookCell): ExtHostCell | undefined;
    getCellFromIndex(index: number): ExtHostCell | undefined;
    getCell(cellHandle: number): ExtHostCell | undefined;
    getCellIndex(cell: ExtHostCell): number;
}
//# sourceMappingURL=ext.host.notebookdocument.d.ts.map