import { IContainer, InterfaceSymbol, type IContainerConfiguration, type IResolver, type Key, type Resolved } from './di'; import type { IAllResolver, IFactoryResolver, ILazyResolver, INewInstanceResolver, IOptionalResolver, IResolvedFactory, IResolvedLazy } from './di.resolvers'; export declare const registrableMetadataKey: unique symbol; export declare const DefaultResolver: { none(key: Key): IResolver; singleton: (key: Key) => IResolver; transient: (key: Key) => IResolver; }; export declare class ContainerConfiguration implements IContainerConfiguration { readonly inheritParentResources: boolean; readonly defaultResolver: (key: Key, handler: IContainer) => IResolver; static readonly DEFAULT: ContainerConfiguration; private constructor(); static from(config?: IContainerConfiguration): ContainerConfiguration; } export type IResolvedInjection = K extends IAllResolver ? Resolved[] : K extends INewInstanceResolver ? Resolved : K extends ILazyResolver ? IResolvedLazy : K extends IOptionalResolver ? Resolved | undefined : K extends IFactoryResolver ? IResolvedFactory : K extends IResolver ? Resolved : K extends [infer R1 extends Key, ...infer R2] ? [IResolvedInjection, ...IResolvedInjection] : K extends InterfaceSymbol ? T : Resolved; /** * Retrieve the resolved value of a key, or values of a list of keys from the currently active container. * * Calling this without an active container will result in an error. */ export declare function resolve(key: K): IResolvedInjection; export declare function resolve(...keys: K): IResolvedInjection; //# sourceMappingURL=di.container.d.ts.map