import { IJSONSchema } from '@vscode/base-node/vs/base/common/jsonSchema'; import { Event } from '@vscode/base-node/vs/base/common/event'; export declare const enum ConfigurationScope { APPLICATION = 1, WINDOW = 2, RESOURCE = 3, } export interface IConfigurationPropertySchema extends IJSONSchema { overridable?: boolean; scope?: ConfigurationScope; included?: boolean; tags?: string[]; } export interface IConfigurationNode { id?: string; order?: number; type?: string | string[]; title?: string; description?: string; properties?: { [path: string]: IConfigurationPropertySchema; }; allOf?: IConfigurationNode[]; overridable?: boolean; scope?: ConfigurationScope; contributedByExtension?: boolean; } export interface IDefaultConfigurationExtension { id: string; name: string; defaults: { [key: string]: {}; }; } export interface IDefaultConfigurationExtension { id: string; name: string; defaults: { [key: string]: {}; }; } export interface IConfigurationRegistry { registerConfiguration(configuration: IConfigurationNode): void; registerConfigurations(configurations: IConfigurationNode[], defaultConfigurations: IDefaultConfigurationExtension[], validate?: boolean): void; notifyConfigurationSchemaUpdated(configuration: IConfigurationNode): void; onDidSchemaChange: Event; onDidRegisterConfiguration: Event; getConfigurations(): IConfigurationNode[]; getConfigurationProperties(): { [qualifiedKey: string]: IConfigurationPropertySchema; }; getExcludedConfigurationProperties(): { [qualifiedKey: string]: IConfigurationPropertySchema; }; registerOverrideIdentifiers(identifiers: string[]): void; }