import { Scanner, OneContainer, OneModule, InjectionToken } from './module'; import { FactoryOptions, Type } from './interfaces'; export declare class OneFactory { private readonly module; private readonly options; protected readonly container: OneContainer; protected readonly scanner: Scanner; constructor(module: Type, options?: FactoryOptions); start(): Promise; destroy(): Promise; private init; select(module: Type): { get: (provider: Type | InjectionToken) => T; getAll: (token: InjectionToken) => (T | Promise>)[]; has: (provider: Type | InjectionToken) => boolean; }; has(provider: Type | InjectionToken): boolean; getAll(token: InjectionToken): (T | Promise>)[]; get(provider: Type | InjectionToken): T; }