import { require } from './require'; import { define, DepsMap, ResolveDeps, DefineOptions } from './define'; import { definePatch, PatchOptions } from './patch'; import { Modules } from './types'; export { require, define, definePatch, }; export type Import = Modules[Name][Export] extends new (...args: any[]) => infer R ? R : Modules[Name][Export]; export type { Modules, DepsMap, ResolveDeps, DefineOptions, PatchOptions };