import { BindingOnSyntax as IBindingOnSyntax, BindingWhenSyntax as IBindingWhenSyntax, Binding, Context, Request } from '../interfaces/interfaces'; export declare class BindingWhenOnSyntax implements IBindingWhenSyntax, IBindingOnSyntax { private _bindingWhenSyntax; private _bindingOnSyntax; private _binding; constructor(binding: Binding); 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) => Promise | void): IBindingWhenSyntax; }