import { IRPCProtocol } from '@opensumi/ide-connection';
import { IDisposable } from '@opensumi/ide-core-common';
import { ExtensionDocumentDataManager, IExtensionDocumentModelChangedEvent, IExtensionDocumentModelOpenedEvent, IExtensionDocumentModelOptionsChangedEvent, IExtensionDocumentModelRemovedEvent, IExtensionDocumentModelSavedEvent, IExtensionDocumentModelWillSaveEvent } from '../../../../common/vscode';
import { TextEdit, Uri } from '../../../../common/vscode/ext-types';
import { ExtHostDocumentData } from './ext-data.host';
import type * as model from '../../../../common/vscode/model.api';
import type vscode from 'vscode';
export declare class ExtensionDocumentDataManagerImpl implements ExtensionDocumentDataManager {
    private readonly rpcProtocol;
    private readonly _proxy;
    private readonly _workspaceProxy;
    private _documents;
    private _contentProviders;
    private _onDidOpenTextDocument;
    private _onDidCloseTextDocument;
    private _onDidChangeTextDocument;
    private _onWillSaveTextDocument;
    private _onDidSaveTextDocument;
    onDidOpenTextDocument: import("@opensumi/ide-core-common").Event<vscode.TextDocument>;
    onDidCloseTextDocument: import("@opensumi/ide-core-common").Event<vscode.TextDocument>;
    onDidChangeTextDocument: import("@opensumi/ide-core-common").Event<vscode.TextDocumentChangeEvent>;
    onWillSaveTextDocument: import("@opensumi/ide-core-common").Event<vscode.TextDocumentWillSaveEvent>;
    onDidSaveTextDocument: import("@opensumi/ide-core-common").Event<vscode.TextDocument>;
    constructor(rpcProtocol: IRPCProtocol);
    get allDocumentData(): ExtHostDocumentData[];
    getDocumentData(path: Uri | string): ExtHostDocumentData | undefined;
    getAllDocument(): vscode.TextDocument[];
    getDocument(uri: Uri | string): vscode.TextDocument;
    openTextDocument(uriOrFileNameOrOptions?: Uri | string | {
        language?: string;
        content?: string;
    }): Promise<vscode.TextDocument>;
    registerTextDocumentContentProvider(scheme: string, provider: vscode.TextDocumentContentProvider): IDisposable;
    $provideTextDocumentContent(path: string, encoding?: string): Promise<string>;
    $fireModelOptionsChangedEvent(e: IExtensionDocumentModelOptionsChangedEvent): void;
    $fireModelChangedEvent(e: IExtensionDocumentModelChangedEvent): void;
    $fireModelOpenedEvent(e: IExtensionDocumentModelOpenedEvent): void;
    $fireModelRemovedEvent(e: IExtensionDocumentModelRemovedEvent): void;
    $fireModelSavedEvent(e: IExtensionDocumentModelSavedEvent): void;
    $fireModelWillSaveEvent(e: IExtensionDocumentModelWillSaveEvent): Promise<void>;
    createWaitUntil(uri: Uri, promise: Promise<TextEdit[] | void>): Promise<void>;
    setWordDefinitionFor(modeId: string, wordDefinition: RegExp | undefined): void;
    applyEdit(uri: Uri, edit: model.TextEdit): Promise<boolean>;
}
//# sourceMappingURL=doc-manager.host.d.ts.map