import type { Event } from '@difizen/mana-common';
import type { IDisposable } from '../../../utils/lifecycle';
import { VSDisposable } from '../../../utils/lifecycle';
import { ConfigurationTarget, IConfigurationService } from './configuration';
import type { IConfigurationChangeEvent, IConfigurationOverrides, IConfigurationData, IConfigurationValue } from './configuration';
export declare class ConfigurationService extends VSDisposable implements IConfigurationService, IDisposable {
    readonly _serviceBrand: undefined;
    private configuration;
    private userConfiguration;
    private readonly _onDidChangeConfiguration;
    readonly onDidChangeConfiguration: Event<IConfigurationChangeEvent>;
    constructor();
    initialize(): Promise<void>;
    getConfigurationData(): IConfigurationData;
    getValue<T>(): T;
    getValue<T>(section: string): T;
    getValue<T>(overrides: IConfigurationOverrides): T;
    getValue<T>(section: string, overrides: IConfigurationOverrides): T;
    updateValue(key: string, value: any): Promise<void>;
    updateValue(key: string, value: any, overrides: IConfigurationOverrides): Promise<void>;
    updateValue(key: string, value: any, target: ConfigurationTarget): Promise<void>;
    updateValue(key: string, value: any, overrides: IConfigurationOverrides, target: ConfigurationTarget): Promise<void>;
    inspect<T>(key: string): IConfigurationValue<T>;
    keys(): {
        default: string[];
        user: string[];
        workspace: string[];
        workspaceFolder: string[];
    };
    reloadConfiguration(): Promise<void>;
    private onDidChangeUserConfiguration;
    private onDidDefaultConfigurationChange;
    private trigger;
    private getTargetConfiguration;
}
//# sourceMappingURL=configurationService.d.ts.map