export declare type Lifecycle = 'singleton' | 'container' | 'invocation' | 'none'; export declare type Precedence = 'active' | 'passive'; export declare type AnyFunction = (...args: any[]) => R; export interface AnyConstructor { new (...args: any[]): T; } export declare type Dependency = string; export interface Definition { dependencies?: Dependency[]; } export interface Factory extends Definition { fn: AnyFunction; lifecycle: Lifecycle; resolved?: boolean; value?: any; with?: Record; }