import { Domain, ModuleDef } from "../types"; export type Resolver = { /** Resolve a module instance (cached singleton) */ get(definition: ModuleDef): TModule; /** Override a module implementation (must be called before first get) */ override(source: ModuleDef, override: ModuleDef): VoidFunction; }; /** * Handles dependency injection and module caching. * * The resolver is created with a reference to the root domain. * All modules receive this root domain in their `create()` function, * ensuring consistent behavior across the domain hierarchy. * * @param getRootDomain - Getter for the root domain (set after domain object is created) */ export declare function createResolver(getRootDomain: () => Domain): Resolver; //# sourceMappingURL=resolver.d.ts.map