import { Event } from "../../../base/common/event.js"; import { IWorkspaceFolder } from "../../workspace/common/workspace.js"; import { IConfigurationChangeEvent, IConfigurationData, IConfigurationOverrides, ConfigurationTarget, IConfigurationUpdateOverrides, IConfigurationUpdateOptions, IConfigurationValue } from "./configuration.js"; export declare const IConfigurationService: import("../../instantiation/common/instantiation.js").ServiceIdentifier; export interface IConfigurationService { readonly _serviceBrand: undefined; readonly onDidChangeConfiguration: Event; getConfigurationData(): IConfigurationData | null; /** * Fetches the value of the section for the given overrides. * Value can be of native type or an object keyed off the section name. * * @param section - Section of the configuration. Can be `null` or `undefined`. * @param overrides - Overrides that has to be applied while fetching * */ getValue(): T; getValue(section: string): T; getValue(overrides: IConfigurationOverrides): T; getValue(section: string, overrides: IConfigurationOverrides): T; /** * Update a configuration value. * * Use `target` to update the configuration in a specific `ConfigurationTarget`. * * Use `overrides` to update the configuration for a resource or for override identifiers or both. * * Passing a resource through overrides will update the configuration in the workspace folder containing that resource. * * *Note 1:* Updating configuration to a default value will remove the configuration from the requested target. If not target is passed, it will be removed from all writeable targets. * * *Note 2:* Use `undefined` value to remove the configuration from the given target. If not target is passed, it will be removed from all writeable targets. * * Use `donotNotifyError` and set it to `true` to surpresss errors. * * @param key setting to be updated * @param value The new value */ updateValue(key: string, value: unknown): Promise; updateValue(key: string, value: unknown, target: ConfigurationTarget): Promise; updateValue(key: string, value: unknown, overrides: IConfigurationOverrides | IConfigurationUpdateOverrides): Promise; updateValue(key: string, value: unknown, overrides: IConfigurationOverrides | IConfigurationUpdateOverrides, target: ConfigurationTarget, options?: IConfigurationUpdateOptions): Promise; inspect(key: string, overrides?: IConfigurationOverrides): IConfigurationValue>; reloadConfiguration(target?: ConfigurationTarget | IWorkspaceFolder): Promise; keys(): { default: string[]; policy: string[]; user: string[]; workspace: string[]; workspaceFolder: string[]; memory?: string[]; }; }