import './vscode-dts/vscode.proposed.d.ts' import './vscode-dts/vscode.d.ts' import { SyncDescriptor } from "./descriptors.js"; import { BrandedService, ServiceIdentifier } from "./instantiation.js"; export declare enum InstantiationType { /** * Instantiate this service as soon as a consumer depends on it. _Note_ that this * is more costly as some upfront work is done that is likely not needed */ Eager = 0, /** * Instantiate this service as soon as a consumer uses it. This is the _better_ * way of registering a service. */ Delayed = 1 } export declare function registerSingleton(id: ServiceIdentifier, ctor: new (...services: Services) => T, supportsDelayedInstantiation: InstantiationType): void; export declare function registerSingleton(id: ServiceIdentifier, descriptor: SyncDescriptor): void; export declare function getSingletonServiceDescriptors(): [ ServiceIdentifier, SyncDescriptor ][];