/** * (c) Phan Trung Nguyên * User: nguyenpl117 * Date: 3/10/2020 * Time: 2:38 PM * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ import 'reflect-metadata'; import { Container } from './Container'; /** * Type for what object is instances of */ export interface Type { new (...args: any[]): T; } export declare class Injector { app: Container; private services; constructor(app: Container); /** * Resolves instances by injecting required services * @param {Type} target * @returns {T} */ injectDependencies(target: Type | any, binding?: boolean, args?: any): T; injectMethodDependencies(target: any, method: any, runtimeValues?: any[]): any; /** * Resolves the injections to be injected to a method or the * class constructor */ private resolveInjections; private initializeParams; /** * Applies all registered handlers on a given target class. */ private applyPropertyHandlers; private make; /** * All registered handlers. */ static readonly handlers: any[]; /** * Registers a new handler. */ static registerHandler(handler: any): typeof Injector; }