// @ts-nocheck import { EndpointContext } from '../endpoint-context'; import type { BaseRepository } from './base-repository'; import { BaseClass } from './base-class'; export declare class BaseInjector { /** * for proxy purposes */ getOriginalPrototype: () => any; /** * for proxy purposes */ getOriginalConstructor: () => any; /** * class initialization hook * firedev after class instace creation */ _(): Promise; /** * Current endpoint context */ get __endpoint_context__(): EndpointContext; /** * inject crud repo for entity */ injectRepo(entityForCrud: new (...args: any[]) => T): BaseRepository; injectCustomRepository(cutomRepositoryClass: new (...args: any[]) => T): T; /** * aliast to .injectRepository() */ injectCustomRepo(cutomRepositoryClass: new (...args: any[]) => T): T; injectController(ctor: new (...args: any[]) => T): T; /** * aliast to .injectController() */ injectSubscriber(ctor: new (...args: any[]) => T): T; /** * aliast to .injectController() */ injectCtrl(ctor: new (...args: any[]) => T): T; /** * global provider available in every context */ injectGlobalProvider(ctor: new (...args: any[]) => T): T; /** * context scoped provider * TODO */ injectContextProvider(ctor: new (...args: any[]) => T): T; /** * Repositories to init (by controller) */ protected __repositories_to_init__: BaseRepository[]; /** * Inject: Controllers, Providers, Repositories, Services, etc. * TODO addd nest js injecting */ private __inject; clone(override: Partial): CloneT; }