import { Event } from '@vscode-alt/monaco-editor/esm/vs/base/common/event'; export interface IConfigurationService { _serviceBrand: any; /** * Fetches the appropriate section of the configuration JSON file. * This will be an object keyed off the section name. */ getConfiguration(section?: string): T; /** * Resolves a configuration key to its values in the different scopes * the setting is defined. */ lookup(key: string): IConfigurationValue; /** * Similar to #getConfiguration() but ensures that the latest configuration * from disk is fetched. */ reloadConfiguration(secion?: string): Promise; /** * Event that fires when the configuration changes. */ onDidUpdateConfiguration: Event; } export interface IConfigurationServiceEvent { config: any; } export interface IConfigurationValue { value: T; default: T; user: T; } /** * A helper function to get the configuration value with a specific settings path (e.g. config.some.setting) */ export declare function getConfigurationValue(config: any, settingPath: string, defaultValue?: T): T;