import { Newable, ServiceIdentifier } from '@inversifyjs/common'; import { Binding, BindingActivation, BindingConstraints, BindingDeactivation, BindingScope, BindingType, DynamicValueBuilder, Factory, MetadataName, MetadataTag, Provider, ResolutionContext, ScopedBinding } from '@inversifyjs/core'; import { Writable } from '../../common/models/Writable'; import { BindInFluentSyntax, BindInWhenOnFluentSyntax, BindOnFluentSyntax, BindToFluentSyntax, BindWhenFluentSyntax, BindWhenOnFluentSyntax } from './BindingFluentSyntax'; import { BindingIdentifier } from './BindingIdentifier'; import { MapToResolvedValueInjectOptions } from './MapToResolvedValueInjectOptions'; export declare class BindInFluentSyntaxImplementation implements BindInFluentSyntax { #private; constructor(binding: Writable>); getIdentifier(): BindingIdentifier; inRequestScope(): BindWhenOnFluentSyntax; inSingletonScope(): BindWhenOnFluentSyntax; inTransientScope(): BindWhenOnFluentSyntax; } export declare class BindToFluentSyntaxImplementation implements BindToFluentSyntax { #private; constructor(callback: (binding: Binding) => void, containerModuleId: number | undefined, defaultScope: BindingScope, serviceIdentifier: ServiceIdentifier); to(type: Newable): BindInWhenOnFluentSyntax; toSelf(): BindInWhenOnFluentSyntax; toConstantValue(value: T): BindWhenOnFluentSyntax; toDynamicValue(builder: DynamicValueBuilder): BindInWhenOnFluentSyntax; toResolvedValue(factory: () => T | Promise): BindInWhenOnFluentSyntax; toResolvedValue(factory: (...args: TArgs) => T | Promise, injectOptions: MapToResolvedValueInjectOptions): BindInWhenOnFluentSyntax; toFactory>(this: BindToFluentSyntaxImplementation, builder: (context: ResolutionContext) => T | Promise): BindWhenOnFluentSyntax; /** * @deprecated Use `toFactory()` instead. Providers will be removed in v8. * Providers exist for historical reasons from v5 when async dependencies weren't supported. * Factories are more flexible and can handle both sync and async operations. */ toProvider>(this: BindToFluentSyntaxImplementation, provider: (context: ResolutionContext) => T): BindWhenOnFluentSyntax; toService(service: ServiceIdentifier): void; } export declare class BindOnFluentSyntaxImplementation implements BindOnFluentSyntax { #private; constructor(binding: Writable>); getIdentifier(): BindingIdentifier; onActivation(activation: BindingActivation): BindWhenFluentSyntax; onDeactivation(deactivation: BindingDeactivation): BindWhenFluentSyntax; } export declare class BindWhenFluentSyntaxImplementation implements BindWhenFluentSyntax { #private; constructor(binding: Writable>); getIdentifier(): BindingIdentifier; when(constraint: (metadata: BindingConstraints) => boolean): BindOnFluentSyntax; whenAnyAncestor(constraint: (metadata: BindingConstraints) => boolean): BindOnFluentSyntax; whenAnyAncestorIs(serviceIdentifier: ServiceIdentifier): BindOnFluentSyntax; whenAnyAncestorNamed(name: MetadataName): BindOnFluentSyntax; whenAnyAncestorTagged(tag: MetadataTag, tagValue: unknown): BindOnFluentSyntax; whenDefault(): BindOnFluentSyntax; whenNamed(name: MetadataName): BindOnFluentSyntax; whenNoParent(constraint: (metadata: BindingConstraints) => boolean): BindOnFluentSyntax; whenNoParentIs(serviceIdentifier: ServiceIdentifier): BindOnFluentSyntax; whenNoParentNamed(name: MetadataName): BindOnFluentSyntax; whenNoParentTagged(tag: MetadataTag, tagValue: unknown): BindOnFluentSyntax; whenParent(constraint: (metadata: BindingConstraints) => boolean): BindOnFluentSyntax; whenParentIs(serviceIdentifier: ServiceIdentifier): BindOnFluentSyntax; whenParentNamed(name: MetadataName): BindOnFluentSyntax; whenParentTagged(tag: MetadataTag, tagValue: unknown): BindOnFluentSyntax; whenTagged(tag: MetadataTag, tagValue: unknown): BindOnFluentSyntax; whenNoAncestor(constraint: (metadata: BindingConstraints) => boolean): BindOnFluentSyntax; whenNoAncestorIs(serviceIdentifier: ServiceIdentifier): BindOnFluentSyntax; whenNoAncestorNamed(name: MetadataName): BindOnFluentSyntax; whenNoAncestorTagged(tag: MetadataTag, tagValue: unknown): BindOnFluentSyntax; } export declare class BindWhenOnFluentSyntaxImplementation extends BindWhenFluentSyntaxImplementation implements BindWhenOnFluentSyntax { #private; constructor(binding: Writable>); onActivation(activation: BindingActivation): BindWhenFluentSyntax; onDeactivation(deactivation: BindingDeactivation): BindWhenFluentSyntax; } export declare class BindInWhenOnFluentSyntaxImplementation extends BindWhenOnFluentSyntaxImplementation implements BindInWhenOnFluentSyntax { #private; constructor(binding: Writable>); inRequestScope(): BindWhenOnFluentSyntax; inSingletonScope(): BindWhenOnFluentSyntax; inTransientScope(): BindWhenOnFluentSyntax; } //# sourceMappingURL=BindingFluentSyntaxImplementation.d.ts.map