import { IRPCProtocol } from '@opensumi/ide-connection';
import { DisposableCollection, PreferenceProviderProvider, PreferenceSchemaProvider, PreferenceService } from '@opensumi/ide-core-browser';
import { FileStat } from '@opensumi/ide-file-service';
import { IWorkspaceService } from '@opensumi/ide-workspace';
import { ConfigurationTarget, IMainThreadPreference, PreferenceData } from '../../../common/vscode';
export declare function getPreferences(preferenceProviderProvider: PreferenceProviderProvider, rootFolders: FileStat[]): PreferenceData;
export declare class MainThreadPreference implements IMainThreadPreference {
    private rpcProtocol;
    protected preferenceService: PreferenceService;
    protected preferenceProviderProvider: PreferenceProviderProvider;
    protected preferenceSchemaProvider: PreferenceSchemaProvider;
    protected workspaceService: IWorkspaceService;
    protected readonly toDispose: DisposableCollection;
    private readonly proxy;
    constructor(rpcProtocol: IRPCProtocol);
    dispose(): void;
    initializeConfiguration(): Promise<void>;
    $updateConfigurationOption(target: boolean | ConfigurationTarget | undefined, key: string, value: any, resource?: string): Promise<void>;
    $removeConfigurationOption(target: boolean | ConfigurationTarget | undefined, key: string, resource?: string): Promise<void>;
    /**
     * 装换VSCode ConfigurationTaregt到PreferenceService中的Scope
     * @param target
     */
    private parseConfigurationTarget;
}
//# sourceMappingURL=main.thread.preference.d.ts.map