import { interfaces } from '../interfaces/interfaces';
import { BindingWhenOnSyntax } from './binding_when_on_syntax';
declare class BindingToSyntax<T> implements interfaces.BindingToSyntax<T> {
    private readonly _binding;
    constructor(binding: interfaces.Binding<T>);
    to(constructor: interfaces.Newable<T>): interfaces.BindingInWhenOnSyntax<T>;
    toSelf(): interfaces.BindingInWhenOnSyntax<T>;
    toConstantValue(value: T): interfaces.BindingWhenOnSyntax<T>;
    toDynamicValue(func: interfaces.DynamicValue<T>): interfaces.BindingInWhenOnSyntax<T>;
    toConstructor<T2>(constructor: interfaces.Newable<T2>): interfaces.BindingWhenOnSyntax<T>;
    toFactory<T2>(factory: interfaces.FactoryCreator<T2>): interfaces.BindingWhenOnSyntax<T>;
    toFunction(func: T): interfaces.BindingWhenOnSyntax<T>;
    toAutoFactory<T2>(serviceIdentifier: interfaces.ServiceIdentifier<T2>): interfaces.BindingWhenOnSyntax<T>;
    toAutoNamedFactory<T2>(serviceIdentifier: interfaces.ServiceIdentifier<T2>): BindingWhenOnSyntax<T>;
    toProvider<T2>(provider: interfaces.ProviderCreator<T2>): interfaces.BindingWhenOnSyntax<T>;
    toService(service: interfaces.ServiceIdentifier<T>): void;
}
export { BindingToSyntax };
