Dependency injection container.
register<T>(): void
Registers a provider under a token.
resolve<T>(token: string): T
Resolves an instance, constructing it (and its dependencies) as needed.
has(token: string): boolean
Reports whether a token is registered.
Creates a child scope. Scoped services resolve to one instance per scope; singletons are shared with the parent.