import { Constructable } from '@tachybase/utils'; import { ServiceIdentifier } from '../types/service-identifier.type'; /** * Helper function used in inject decorators to resolve the received identifier to * an eager type when possible or to a lazy type when cyclic dependencies are possibly involved. * * @param typeOrIdentifier a service identifier or a function returning a type acting as service identifier or nothing * @param target the class definition of the target of the decorator * @param propertyName the name of the property in case of a PropertyDecorator * @param index the index of the parameter in the constructor in case of ParameterDecorator */ export declare function resolveToTypeWrapper(typeOrIdentifier: ((type?: never) => Constructable) | ServiceIdentifier | undefined, target: object, propertyName: string | symbol, index?: number): { eagerType: ServiceIdentifier | null; lazyType: (type?: never) => ServiceIdentifier; };