import { interfaces } from 'inversify'; import { AnyT } from '../definitions.interface'; /** * @stable [26.04.2018] * @param {interfaces.ServiceIdentifier} serviceIdentifier * @returns {any} */ export declare const staticInjector: (serviceIdentifier: interfaces.ServiceIdentifier) => any; /** * @stable [26.04.2018] * @param target * @returns {(target: any) => any} */ export declare const provideInSingleton: (target: interfaces.ServiceIdentifier) => (target: any) => any; /** * @stable [16.09.2019] * @param {interfaces.ServiceIdentifier | {new(...args: AnyT[]): T}} contract * @param {{new(...args: AnyT[]): T}} implementation * @returns {interfaces.BindingWhenOnSyntax} */ export declare const bindInSingleton: (contract: string | symbol | interfaces.Newable | interfaces.Abstract | (new (...args: AnyT[]) => T), implementation?: new (...args: AnyT[]) => T) => interfaces.BindingWhenOnSyntax; /** * @stable [24.09.2019] * @param {interfaces.ServiceIdentifier} contract * @param {T} instance * @returns {interfaces.BindingWhenOnSyntax} */ export declare const bindToConstantValue: (contract: interfaces.ServiceIdentifier, instance?: T) => interfaces.BindingWhenOnSyntax; /** * @stable [08.06.2020] */ export declare class DiSupport { static readonly bindInSingleton: (contract: string | symbol | interfaces.Newable | interfaces.Abstract | (new (...args: any[]) => T), implementation?: new (...args: any[]) => T) => interfaces.BindingWhenOnSyntax; static readonly bindToConstantValue: (contract: interfaces.ServiceIdentifier, instance?: T) => interfaces.BindingWhenOnSyntax; static readonly provideInSingleton: (target: interfaces.ServiceIdentifier) => (target: any) => any; static readonly staticInjector: (serviceIdentifier: interfaces.ServiceIdentifier) => any; }