import { createDecorator, refineServiceDecorator } from '../../../../platform/instantiation/common/instantiation.js';
import { IExtensionManagementService } from '../../../../platform/extensionManagement/common/extensionManagement.js';
import { FileAccess } from '../../../../base/common/network.js';
import { localizeWithPath } from '../../../../nls.js';
const IProfileAwareExtensionManagementService = refineServiceDecorator(IExtensionManagementService);
const IExtensionManagementServerService = ( createDecorator('extensionManagementServerService'));
const getDefaultIconPath = () => ( ( FileAccess.asBrowserUri('vs/workbench/services/extensionManagement/common/media/defaultIcon.png')).toString(true));
const IWorkbenchExtensionManagementService = refineServiceDecorator(IProfileAwareExtensionManagementService);
const extensionsConfigurationNodeBase = {
    id: 'extensions',
    order: 30,
    title: ( localizeWithPath(
        'vs/workbench/services/extensionManagement/common/extensionManagement',
        'extensionsConfigurationTitle',
        "Extensions"
    )),
    type: 'object'
};
const IWorkbenchExtensionEnablementService = ( createDecorator('extensionEnablementService'));
const IWebExtensionsScannerService = ( createDecorator('IWebExtensionsScannerService'));
export { IExtensionManagementServerService, IProfileAwareExtensionManagementService, IWebExtensionsScannerService, IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService, extensionsConfigurationNodeBase, getDefaultIconPath };
