import * as code from 'vscode'; import * as proto from 'vscode-languageserver-protocol'; import { TextDocumentLanguageFeature, FeatureClient } from './features'; export interface ProvideLinkedEditingRangeSignature { (this: void, document: code.TextDocument, position: code.Position, token: code.CancellationToken): code.ProviderResult; } /** * Linked editing middleware * * @since 3.16.0 */ export interface LinkedEditingRangeMiddleware { provideLinkedEditingRange?: (this: void, document: code.TextDocument, position: code.Position, token: code.CancellationToken, next: ProvideLinkedEditingRangeSignature) => code.ProviderResult; } export declare class LinkedEditingFeature extends TextDocumentLanguageFeature { constructor(client: FeatureClient); fillClientCapabilities(capabilities: proto.ClientCapabilities): void; initialize(capabilities: proto.ServerCapabilities, documentSelector: proto.DocumentSelector): void; protected registerLanguageProvider(options: proto.LinkedEditingRangeRegistrationOptions): [code.Disposable, code.LinkedEditingRangeProvider]; private registerProvider; }