import { registerSingleton } from '../../../platform/instantiation/common/extensions.js';
import { ExtHostOutputService, IExtHostOutputService } from './extHostOutput.js';
import { ExtHostWorkspace, IExtHostWorkspace } from './extHostWorkspace.js';
import { ExtHostDecorations, IExtHostDecorations } from './extHostDecorations.js';
import { ExtHostConfiguration, IExtHostConfiguration } from './extHostConfiguration.js';
import { ExtHostCommands, IExtHostCommands } from './extHostCommands.js';
import { ExtHostDocumentsAndEditors, IExtHostDocumentsAndEditors } from './extHostDocumentsAndEditors.js';
import { WorkerExtHostTerminalService, IExtHostTerminalService } from './extHostTerminalService.js';
import { WorkerExtHostTask, IExtHostTask } from './extHostTask.js';
import { WorkerExtHostDebugService, IExtHostDebugService } from './extHostDebugService.js';
import { ExtHostSearch, IExtHostSearch } from './extHostSearch.js';
import { ExtHostStorage, IExtHostStorage } from './extHostStorage.js';
import { ExtHostTunnelService, IExtHostTunnelService } from './extHostTunnelService.js';
import { ExtHostApiDeprecationService, IExtHostApiDeprecationService } from './extHostApiDeprecationService.js';
import { ExtHostWindow, IExtHostWindow } from './extHostWindow.js';
import { ExtHostConsumerFileSystem, IExtHostConsumerFileSystem } from './extHostFileSystemConsumer.js';
import { ExtHostFileSystemInfo, IExtHostFileSystemInfo } from './extHostFileSystemInfo.js';
import { ExtHostSecretState, IExtHostSecretState } from './extHostSecretState.js';
import { ExtHostTelemetry, IExtHostTelemetry } from './extHostTelemetry.js';
import { ExtHostEditorTabs, IExtHostEditorTabs } from './extHostEditorTabs.js';
import { ExtHostLoggerService } from './extHostLoggerService.js';
import { ILoggerService } from '../../../platform/log/common/log.js';
import { ExtHostVariableResolverProviderService, IExtHostVariableResolverProvider } from './extHostVariableResolverService.js';
import { ExtHostLocalizationService, IExtHostLocalizationService } from './extHostLocalizationService.js';
import { ExtHostManagedSockets, IExtHostManagedSockets } from './extHostManagedSockets.js';
import { ExtHostAuthentication, IExtHostAuthentication } from './extHostAuthentication.js';
import { ExtHostLanguageModels, IExtHostLanguageModels } from './extHostLanguageModels.js';
import { ExtHostTerminalShellIntegration, IExtHostTerminalShellIntegration } from './extHostTerminalShellIntegration.js';
registerSingleton(IExtHostLocalizationService, ExtHostLocalizationService, 1 );
registerSingleton(ILoggerService, ExtHostLoggerService, 1 );
registerSingleton(IExtHostApiDeprecationService, ExtHostApiDeprecationService, 1 );
registerSingleton(IExtHostCommands, ExtHostCommands, 0 );
registerSingleton(IExtHostAuthentication, ExtHostAuthentication, 0 );
registerSingleton(IExtHostLanguageModels, ExtHostLanguageModels, 0 );
registerSingleton(IExtHostConfiguration, ExtHostConfiguration, 0 );
registerSingleton(IExtHostConsumerFileSystem, ExtHostConsumerFileSystem, 0 );
registerSingleton(IExtHostDebugService, WorkerExtHostDebugService, 0 );
registerSingleton(IExtHostDecorations, ExtHostDecorations, 0 );
registerSingleton(IExtHostDocumentsAndEditors, ExtHostDocumentsAndEditors, 0 );
registerSingleton(IExtHostManagedSockets, ExtHostManagedSockets, 0 );
registerSingleton(IExtHostFileSystemInfo, ExtHostFileSystemInfo, 0 );
registerSingleton(IExtHostOutputService, ExtHostOutputService, 1 );
registerSingleton(IExtHostSearch, ExtHostSearch, 0 );
registerSingleton(IExtHostStorage, ExtHostStorage, 0 );
registerSingleton(IExtHostTask, WorkerExtHostTask, 0 );
registerSingleton(IExtHostTerminalService, WorkerExtHostTerminalService, 0 );
registerSingleton(IExtHostTerminalShellIntegration, ExtHostTerminalShellIntegration, 0 );
registerSingleton(IExtHostTunnelService, ExtHostTunnelService, 0 );
registerSingleton(IExtHostWindow, ExtHostWindow, 0 );
registerSingleton(IExtHostWorkspace, ExtHostWorkspace, 0 );
registerSingleton(IExtHostSecretState, ExtHostSecretState, 0 );
registerSingleton(IExtHostTelemetry, ExtHostTelemetry, 0 );
registerSingleton(IExtHostEditorTabs, ExtHostEditorTabs, 0 );
registerSingleton(IExtHostVariableResolverProvider, ExtHostVariableResolverProviderService, 0 );
