import { Container, ObjectType, ServiceIdentifier, ServiceMetadata, Token } from 'typedi'; import { ClassType } from '@allgemein/schema-api'; export declare class Injector { get globalContainer(): import("typedi").ContainerInstance; private static __self__; static getContainer(): typeof Container; static get(identifier: ServiceIdentifier | string | Token | ObjectType | { service: T; }): T; static set(identifier: ServiceIdentifier | string | Token | ObjectType | { service: T; }, x: T): T; static has(identifier: ServiceIdentifier | string | Token | ObjectType | { service: T; }): boolean; static create(identifier: ServiceIdentifier | ClassType, service?: ServiceMetadata | undefined): T; static $(): Injector; static remove(...id: any): void; static reset(id?: any): void; /** * Retrieves the service with given name or type from the service container. * Optionally, parameters can be passed in case if instance is initialized in the container for the first time. */ get(identifier: ServiceIdentifier | string | Token | ObjectType | { service: T; }): T; /** * Sets a object for given name */ set(identifier: ServiceIdentifier | string | Token | ObjectType | { service: T; }, x: T): T; /** * Checks if the service exists with given name or type from the service container. */ has(identifier: ServiceIdentifier | string | Token | ObjectType | { service: T; }): boolean; /** * Create a new instance of value */ create(identifier: ServiceIdentifier, service?: ServiceMetadata | undefined): T; /** * Initializes all parameter types for a given target service class. */ private initializeParams; /** * Checks if given type is primitive (e.g. string, boolean, number, object). */ private isTypePrimitive; /** * Applies all registered handlers on a given target class. */ private applyPropertyHandlers; }