import { ISignal } from '@lumino/signaling';
import { ClientCapabilities } from './lsp';
import { IFeature, ILSPFeatureManager } from './tokens';
import { EditorAdapter } from './adapters/editorAdapter';
/**
 * Class to manager the registered features of the language servers.
 */
export declare class FeatureManager implements ILSPFeatureManager {
    constructor();
    /**
     * List of registered features
     */
    readonly features: Array<IFeature>;
    /**
     * Signal emitted when a new feature is registered.
     */
    get featureRegistered(): ISignal<ILSPFeatureManager, IFeature>;
    /**
     * Register a new feature, skip if it is already registered.
     */
    register(feature: IFeature): void;
    /**
     * Get the capabilities of all clients.
     */
    clientCapabilities(): ClientCapabilities;
    /**
     * Get the extension factories of all clients.
     */
    extensionFactories(): EditorAdapter.ILSPEditorExtensionFactory[];
    private _featureRegistered;
}
