import EventEmitter from 'events'; import { Disposable, TextDocumentChangeEvent, TextDocuments } from 'vscode-languageserver'; import { TextDocument } from 'vscode-languageserver-textdocument'; import { TextDocumentChangeListenerType } from './text_document_change_listener_type'; import { HandlesNotification } from './handler'; import { DidChangeDocumentInActiveEditorParams } from './notifications'; export interface TextDocumentChangeListener { (event: TextDocumentChangeEvent, handlerType: TextDocumentChangeListenerType): void; } export interface DocumentService { onDocumentChange(listener: TextDocumentChangeListener): Disposable; notificationHandler(params: DidChangeDocumentInActiveEditorParams): void; } export declare const DocumentService: import("@gitlab-org/di").InterfaceId; export declare class DefaultDocumentService implements DocumentService, HandlesNotification { #private; constructor(documents: TextDocuments); notificationHandler: (param: DidChangeDocumentInActiveEditorParams) => void; onDocumentChange(listener: TextDocumentChangeListener): { dispose: () => EventEmitter; }; }