import { type LazyServiceIdentifier, type ServiceIdentifier } from '@inversifyjs/common'; import { type MetadataName, type MetadataTag } from '@inversifyjs/core'; export type ResolvedValueInjectOptions = LazyServiceIdentifier | ResolvedValueMetadataInjectOptions | ServiceIdentifier; export type ResolvedValueMetadataInjectOptions = [T] extends [ (infer U)[] | undefined ] ? [T] extends [U[]] ? MultipleResolvedValueMetadataInjectOptions | BaseResolvedValueMetadataInjectOptions : MultipleOptionalResolvedValueMetadataInjectOptions | OptionalResolvedValueMetadataInjectOptions : T extends undefined ? OptionalResolvedValueMetadataInjectOptions : BaseResolvedValueMetadataInjectOptions; interface BaseResolvedValueMetadataInjectOptions { name?: MetadataName; serviceIdentifier: ServiceIdentifier | LazyServiceIdentifier; tags?: ResolvedValueMetadataInjectTagOptions[]; } interface BaseMultipleResolvedValueMetadataInjectOptions { chained?: boolean; isMultiple: true; } interface BaseOptionalResolvedValueMetadataInjectOptions { optional: true; } export interface MultipleResolvedValueMetadataInjectOptions extends BaseResolvedValueMetadataInjectOptions, BaseMultipleResolvedValueMetadataInjectOptions { } interface MultipleOptionalResolvedValueMetadataInjectOptions extends BaseResolvedValueMetadataInjectOptions, BaseMultipleResolvedValueMetadataInjectOptions, BaseOptionalResolvedValueMetadataInjectOptions { } export interface OptionalResolvedValueMetadataInjectOptions extends BaseResolvedValueMetadataInjectOptions, BaseOptionalResolvedValueMetadataInjectOptions { } export interface ResolvedValueMetadataInjectTagOptions { key: MetadataTag; value: unknown; } export {}; //# sourceMappingURL=ResolvedValueInjectOptions.d.ts.map