import { ISerializedDocumentFilter } from '@workbench-stack/extension-api/lib/protocol/common.protocol';
import { Connection, FeatureProviderRegistry, TextDocumentReferencesProviderRegistry, ProvideHoverSignature, ProvideTextDocumentLocationSignature, ProvideDocumentFormattingEditSignature, ProvideDocumentHighlightSignature, ProvideCompletionItemSignature, ProvideRenameSignature, ITextDocumentRegistrationOptions } from '@workbench-stack/extension-api';
import { ExtensionIdentifier } from '@workbench-stack/core';
export declare class ClientLanguageFeatures {
    private hoverRegistry;
    private definitionRegistry;
    private typeDefinitionRegistry;
    private implementationRegistry;
    private referencesRegistry;
    private completionRegistry;
    private hightLightRegistry;
    private renameRegistry;
    private formattingRegistry;
    private referenceRegistry;
    private outlineSupportRegistry;
    private registerCodeActionsProvider;
    private registerCodeLensProvider;
    private registerLinkProvider;
    private registerColorProvider;
    private registerFoldingRangeProvider;
    private registerWorkspaceSymbol;
    private rangeFormattingEditProviderRegistry;
    private _server?;
    private subscriptions;
    private registrations;
    private proxy;
    private serverProxy;
    constructor(connection: Connection, hoverRegistry: FeatureProviderRegistry<ITextDocumentRegistrationOptions, ProvideHoverSignature>, definitionRegistry: FeatureProviderRegistry<ITextDocumentRegistrationOptions, ProvideTextDocumentLocationSignature>, typeDefinitionRegistry: FeatureProviderRegistry<ITextDocumentRegistrationOptions, ProvideTextDocumentLocationSignature>, implementationRegistry: FeatureProviderRegistry<ITextDocumentRegistrationOptions, ProvideTextDocumentLocationSignature>, referencesRegistry: TextDocumentReferencesProviderRegistry, completionRegistry: FeatureProviderRegistry<ITextDocumentRegistrationOptions, ProvideCompletionItemSignature>, hightLightRegistry: FeatureProviderRegistry<ITextDocumentRegistrationOptions, ProvideDocumentHighlightSignature>, renameRegistry: FeatureProviderRegistry<ITextDocumentRegistrationOptions, ProvideRenameSignature>, formattingRegistry: FeatureProviderRegistry<ITextDocumentRegistrationOptions, ProvideDocumentFormattingEditSignature>, referenceRegistry: FeatureProviderRegistry<ITextDocumentRegistrationOptions, any>, outlineSupportRegistry: FeatureProviderRegistry<ITextDocumentRegistrationOptions, any>, registerCodeActionsProvider: FeatureProviderRegistry<ITextDocumentRegistrationOptions, any>, registerCodeLensProvider: FeatureProviderRegistry<ITextDocumentRegistrationOptions, any>, registerLinkProvider: FeatureProviderRegistry<ITextDocumentRegistrationOptions, any>, registerColorProvider: FeatureProviderRegistry<ITextDocumentRegistrationOptions, any>, registerFoldingRangeProvider: FeatureProviderRegistry<ITextDocumentRegistrationOptions, any>, registerWorkspaceSymbol: FeatureProviderRegistry<ITextDocumentRegistrationOptions, any>, rangeFormattingEditProviderRegistry: any);
    $unregister(id: number): void;
    $registerDefinitionSupport(id: number, selector: ISerializedDocumentFilter[]): void;
    $registerRangeFormattingSupport(handle: number, selector: ISerializedDocumentFilter[], extensionId: ExtensionIdentifier, displayName: string): void;
    $registerImplementationSupport(id: number, selector: ISerializedDocumentFilter[]): void;
    $registerTypeDefinitionSupport(id: number, selector: ISerializedDocumentFilter[]): void;
    $registerOutlineSupport(id: number, selector: ISerializedDocumentFilter[]): void;
    $registerQuickFixSupport(id: number, selector: ISerializedDocumentFilter[]): void;
    $registerReferenceSupport(id: number, selector: ISerializedDocumentFilter[]): void;
    $registerHoverProvider(id: number, selector: ISerializedDocumentFilter[]): void;
    $registerDocumentHighlightProvider(id: number, selector: ISerializedDocumentFilter[]): void;
    $registerReferenceProvider(id: number, selector: ISerializedDocumentFilter[]): void;
    $registerSuggestSupport(id: number, selector: ISerializedDocumentFilter[]): void;
    $registerRenameSupport(id: number, selector: ISerializedDocumentFilter[]): void;
    $registerDocumentFormattingSupport(id: number, selector: ISerializedDocumentFilter[]): void;
    $registerCodeLensProvider(id: number, selector: ISerializedDocumentFilter[]): void;
    $registerCodeLensSupport(id: number, selector: ISerializedDocumentFilter[]): void;
    $registerLinkProvider(id: number, selector: ISerializedDocumentFilter[]): void;
    $registerColorProvider(id: number, selector: ISerializedDocumentFilter[]): void;
    $registerFoldingRangeProvider(id: number, selector: ISerializedDocumentFilter[]): void;
    $registerWorkspaceSymbolProvider(id: number, selector: ISerializedDocumentFilter[]): void;
    unsubscribe(): void;
}
