import { ResolutionConstraintFlag } from '../types/resolution-constraint.type'; /** * If the identifier cannot be found, substitute it with `null`. * @experimental * * The constraints supported are listed in {@link ResolutionConstraintFlag}. * * @example * This function can be used to construct a bitmask for use * in the dependencies array of a service. * While this can be used publicly, it is mainly for use * within TypeDI; it allows you to configure specific constraints * for use when resolving a specific service. * * ```ts * const constraintBitMask = Optional() | Self(); * * if (constraintBitMask & ResolutionConstraintFlag.Optional) { * console.log('The dependency is optional.'); * } * ``` * * @group Resolution Constraints * * @see {@link ResolutionConstraintFlag} * * @group Resolution Constraints * * @returns The resolution constraint bit-flag for Optional. */ export declare function Optional(): ResolutionConstraintFlag; /** * Do not ascend the container tree to resolve this identifier. * @experimental * * The constraints supported are listed in {@link ResolutionConstraintFlag}. * * @example * This function can be used to construct a bitmask for use * in the dependencies array of a service. * While this can be used publicly, it is mainly for use * within TypeDI; it allows you to configure specific constraints * for use when resolving a specific service. * * ```ts * const constraintBitMask = Self(); * * if (constraintBitMask & ResolutionConstraintFlag.Self) { * console.log('The dependency will not be resolved recursively.'); * } * ``` * * @group Resolution Constraints * * @see {@link ResolutionConstraintFlag} * * @group Resolution Constraints * * @returns The resolution constraint bit-flag for Self. */ export declare function Self(): ResolutionConstraintFlag; /** * Begin searching from the parent container to resolve this identifier. * @experimental * * The constraints supported are listed in {@link ResolutionConstraintFlag}. * * @example * This function can be used to construct a bitmask for use * in the dependencies array of a service. * While this can be used publicly, it is mainly for use * within TypeDI; it allows you to configure specific constraints * for use when resolving a specific service. * * ```ts * const constraintBitMask = SkipSelf(); * * if (constraintBitMask & ResolutionConstraintFlag.Self) { * console.log('The dependency will be resolved recursively from the parent.'); * } * ``` * * @see {@link ResolutionConstraintFlag} * * @group Resolution Constraints * * @returns The resolution constraint bit-flag for SkipSelf. */ export declare function SkipSelf(): ResolutionConstraintFlag; /** * Resolve multiple services for this identifier via `getMany`. * @experimental * * The constraints supported are listed in {@link ResolutionConstraintFlag}. * * @example * This function can be used to construct a bitmask for use * in the dependencies array of a service. * While this can be used publicly, it is mainly for use * within TypeDI; it allows you to configure specific constraints * for use when resolving a specific service. * * ```ts * const constraintBitMask = Many() | SkipSelf(); * * if (constraintBitMask & ResolutionConstraintFlag.Many) { * console.log('The dependency will be resolved via "getMany".'); * } * ``` * * @see {@link ResolutionConstraintFlag} * * @group Resolution Constraints * * @returns The resolution constraint bit-flag for SkipSelf. */ export declare function Many(): ResolutionConstraintFlag;