import { ProviderRef } from './provider-ref'; import { ProviderToken } from '../providers'; /** * An implementation of the `ProviderRef` that is used when a provider is defined with a static value through the useValue property * * ```ts * @CliModule({ * providers: [ * { provide: CONNECTION_CONFIG, useValue: { host: 'localhost', port: 3000 } } * ] * }) * ``` */ export declare class ValueProviderRef implements ProviderRef { injectToken: ProviderToken; /** * Determines whether the same value should be injected for all provider references or whether an immutable value * should be injected */ singleton: boolean; /** * Value that is resolved by the provider */ private value; /** * Creates a new instance * @param token The provider key that is used when the `injector` looks up the provider for injection * @param value value that is resolved by the provider * @param singleton Determines whether the same value should be injected for all provider references or whether an immutable value * should be injected */ constructor(token: ProviderToken, value: any, singleton: boolean); /** * Returns the value of the provider * @param callstack The dependency injection callstack used to identify circular referencing providers. */ resolve(callstack?: ProviderToken[]): T; /** * Creates an immutable copy of an object * @param obj object to clone */ private clone; }