import { ILanguageServerManager, LanguageServerManager } from '@jupyterlab/lsp'; import { ISettingRegistry, ISchemaValidator } from '@jupyterlab/settingregistry'; import { TranslationBundle } from '@jupyterlab/translation'; import { ISignal } from '@lumino/signaling'; import { FieldProps } from '@rjsf/utils'; import { LanguageServers } from './_plugin'; import { ILSPLogConsole } from './tokens'; type ValueOf = T[keyof T]; type ServerSchemaWrapper = ValueOf['language_servers']>; /** * Settings keyed by language server name with values including * multiple properties, such as priority or workspace configuration */ type LanguageServerSettings = Record; export declare class SettingsUIManager { protected options: { settingRegistry: ISettingRegistry; languageServerManager: ILanguageServerManager; console: ILSPLogConsole; trans: TranslationBundle; schemaValidated: ISignal; }; constructor(options: { settingRegistry: ISettingRegistry; languageServerManager: ILanguageServerManager; console: ILSPLogConsole; trans: TranslationBundle; schemaValidated: ISignal; }); renderForm(props: FieldProps): import("react").JSX.Element; private _validationErrors; } /** * Harmonize settings from schema, defaults from specification, and values set by user. */ export declare class SettingsSchemaManager { protected options: { settingRegistry: ISettingRegistry; languageServerManager: ILanguageServerManager; console: ILSPLogConsole; trans: TranslationBundle; /** * Promise resolved when JupyterLab splash screen disappears. */ restored: Promise; }; constructor(options: { settingRegistry: ISettingRegistry; languageServerManager: ILanguageServerManager; console: ILSPLogConsole; trans: TranslationBundle; /** * Promise resolved when JupyterLab splash screen disappears. */ restored: Promise; }); get schemaValidated(): ISignal; protected get console(): ILSPLogConsole; /** * Add schema for individual language servers into JSON schema. * This method has to be called before any other action * is performed on settingRegistry with regard to pluginId. */ setupSchemaTransform(pluginId: string): Promise; /** * Populate the plugin's schema defaults, transform descriptions. */ private _populate; /** * Transform the plugin schema defaults, properties and descriptions */ static transformSchemas(options: { schema: ISettingRegistry.ISchema; specs: LanguageServerManager['specs']; sessions: ILanguageServerManager['sessions']; console?: ILSPLogConsole; trans?: TranslationBundle; }): { properties: Record; defaults: Record; }; /** * Expands dotted values into nested properties when the server config schema * indicates that this is needed. The schema is passed within the specs. * * This is needed because some settings, specifically pright's * `python.analysis.diagnosticSeverityOverrides` are defined as nested. */ static expandDottedAsNeeded(options: { dottedSettings: LanguageServerSettings; specs: LanguageServerManager['specs']; }): LanguageServerSettings; /** * Normalize settings by dotted and nested specs, and merging with defaults. */ normalizeSettings(composite: Required): Promise>; private _wasPreviouslyValidated; /** * Validate user settings from plugin against provided schema, * asynchronously to avoid blocking the main thread. * Stores validation result in `this._validationErrors`. */ private _validateSchemaLater; private _warnConflicts; private _collapseServerSettingsDotted; static mergeByServer(defaults: LanguageServerSettings, userSettings: LanguageServerSettings): LanguageServerSettings; private _defaults; private _defaultsPopulated; private _validationErrors; private _schemaValidated; private _validationAttempt; private _lastValidation; private _lastUserServerSettings; private _lastUserServerSettingsDoted; private _canonical; private _original; } export {};