import { localizeWithPath, localize2WithPath } from '../../../../nls.js';
import '../../../../platform/actions/common/actions.js';
import { createDecorator } from '../../../../platform/instantiation/common/instantiation.js';
import { RawContextKey } from '../../../../platform/contextkey/common/contextkey.js';
import { URI } from '../../../../base/common/uri.js';
import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';
import { Codicon } from '../../../../base/common/codicons.js';
const IUserDataProfileService = ( createDecorator('IUserDataProfileService'));
const IUserDataProfileManagementService = ( createDecorator('IUserDataProfileManagementService'));
const PROFILE_URL_AUTHORITY = 'profile';
function toUserDataProfileUri(path, productService) {
    return ( URI.from({
        scheme: productService.urlProtocol,
        authority: PROFILE_URL_AUTHORITY,
        path: path.startsWith('/') ? path : `/${path}`
    }));
}
const IUserDataProfileImportExportService = ( createDecorator('IUserDataProfileImportExportService'));
const defaultUserDataProfileIcon = registerIcon('defaultProfile-icon', Codicon.settings, ( localizeWithPath(
    'vs/workbench/services/userDataProfile/common/userDataProfile',
    'defaultProfileIcon',
    'Icon for Default Profile.'
)));
const PROFILES_TITLE = ( localize2WithPath(
    'vs/workbench/services/userDataProfile/common/userDataProfile',
    'profiles',
    'Profiles'
));
const PROFILES_CATEGORY = { ...PROFILES_TITLE };
const PROFILE_EXTENSION = 'code-profile';
const PROFILE_FILTER = [{ name: ( localizeWithPath(
    'vs/workbench/services/userDataProfile/common/userDataProfile',
    'profile',
    "Profile"
)), extensions: [PROFILE_EXTENSION] }];
const CURRENT_PROFILE_CONTEXT = ( new RawContextKey('currentProfile', ''));
const IS_PROFILE_EXPORT_IN_PROGRESS_CONTEXT = ( new RawContextKey('isProfileExportInProgress', false));
const IS_PROFILE_IMPORT_IN_PROGRESS_CONTEXT = ( new RawContextKey('isProfileImportInProgress', false));
export { CURRENT_PROFILE_CONTEXT, IS_PROFILE_EXPORT_IN_PROGRESS_CONTEXT, IS_PROFILE_IMPORT_IN_PROGRESS_CONTEXT, IUserDataProfileImportExportService, IUserDataProfileManagementService, IUserDataProfileService, PROFILES_CATEGORY, PROFILES_TITLE, PROFILE_EXTENSION, PROFILE_FILTER, PROFILE_URL_AUTHORITY, defaultUserDataProfileIcon, toUserDataProfileUri };
