export declare type ProviderToken = any;
export declare type RegistrationProvider = IProvider | IConstructor;
export declare enum LifeTime {
    Persistent = 0,
    PerRequest = 1,
}
export interface IProvider {
    token: ProviderToken;
    lifeTime?: LifeTime;
}
export interface IProvider {
    useValue?: any;
}
export interface IProvider {
    useClass?: IConstructor;
}
export interface IProvider {
    useFactory?: any;
    inject?: ProviderToken[];
}
export interface IInjectionMd {
    token: ProviderToken;
    parameterIndex: number;
}
export declare type IInjectionInstance = any;
export interface IConstructor {
    new (...args: any[]): any;
}
