import { Token, TokenType } from '../../pointers'; import { ResolutionCondition } from '../../types'; import { BindingsVault } from '../BindingsVault'; import { FromSyntax } from './FromSyntax'; import { TypeSyntax } from './TypeSyntax'; export declare class BindOrUseSyntax { protected vault: BindingsVault; private readonly condition?; protected static vault(target: BindOrUseSyntax): BindingsVault; constructor(vault: BindingsVault, condition?: ResolutionCondition | undefined); /** * @description * Binds the token to an implementation. * * @param token - a token to be bound. * * @returns * Binding Type syntax: * - `toConstant(value)` * - `toInstance(creator)` * - `toFactory(creator, [initializer])` * * @link https://brandi.js.org/reference/container#bindtoken */ bind(token: T): TypeSyntax>; /** * @description * Uses bindings from a dependency module. * * @param tokens - tokens to be used from a dependency module. * @returns `.from(module)` syntax. * * @link https://brandi.js.org/reference/container#usetokensfrommodule */ use(...tokens: Token[]): FromSyntax; }