import { BindingInSyntax as IBindingInSyntax, BindingWhenSyntax as IBindingWhenSyntax, BindingOnSyntax as IBindingOnSyntax, BindingWhenOnSyntax, Binding, Request, Context } from '../interfaces/interfaces'; export declare class BindingInWhenOnSyntax implements IBindingInSyntax, IBindingWhenSyntax, IBindingOnSyntax { private _bindingInSyntax; private _bindingWhenSyntax; private _bindingOnSyntax; private _binding; constructor(binding: Binding); inRequestScope(): BindingWhenOnSyntax; inSingletonScope(): BindingWhenOnSyntax; inTransientScope(): BindingWhenOnSyntax; when(constraint: (request: Request) => boolean): IBindingOnSyntax; whenTargetNamed(name: string): IBindingOnSyntax; whenTargetIsDefault(): IBindingOnSyntax; whenTargetTagged(tag: string, value: any): IBindingOnSyntax; whenInjectedInto(parent: Function | string): IBindingOnSyntax; whenParentNamed(name: string): IBindingOnSyntax; whenParentTagged(tag: string, value: any): IBindingOnSyntax; whenAnyAncestorIs(ancestor: Function | string): IBindingOnSyntax; whenNoAncestorIs(ancestor: Function | string): IBindingOnSyntax; whenAnyAncestorNamed(name: string): IBindingOnSyntax; whenAnyAncestorTagged(tag: string, value: any): IBindingOnSyntax; whenNoAncestorNamed(name: string): IBindingOnSyntax; whenNoAncestorTagged(tag: string, value: any): IBindingOnSyntax; whenAnyAncestorMatches(constraint: (request: Request) => boolean): IBindingOnSyntax; whenNoAncestorMatches(constraint: (request: Request) => boolean): IBindingOnSyntax; onActivation(handler: (context: Context, injectable: T) => T): IBindingWhenSyntax; onDeactivation(handler: (injectable: T) => void | Promise): IBindingWhenSyntax; }