import { Service } from "./_service"; import { AbstractKernel } from "./kernel"; import { IFluentBindingProviderSelection } from "./_fluent-binding"; import { IProvider } from "./_provider"; import { IBinding } from "./_binding"; import { Scope } from "./_scope"; /** * Standard kernel with fluent binding API. * Bindings resolve in the order they are added. * Use rebind() to replace existing bindings (last binding wins). */ export declare class StandardKernel extends AbstractKernel { /**Bind a Symbol to a provider using fluent interface */ bind(service: Service): IFluentBindingProviderSelection; /**Bind interface T to a provider using fluent interface - note requires compile-time @pigly/transformer */ bind(): IFluentBindingProviderSelection; /**Rebind a Symbol to a provider using fluent interface - prepends binding so it's checked first */ rebind(service: Service): IFluentBindingProviderSelection; /**Rebind interface T to a provider using fluent interface - note requires compile-time @pigly/transformer */ rebind(): IFluentBindingProviderSelection; /** * Internal method to add a binding - used by fluent interface * @internal */ _addBinding(service: Service, provider: IProvider, scope: Scope, rebind?: boolean): IBinding; }