import { Modules } from './types'; export type DepsMap = Record; export type ResolveDeps = { [P in keyof T]: Modules[T[P]]; }; export interface DefineOptions { /** name of the module */ name: string; /** A map of required modules */ deps: Deps; /** * Function to create the module. * @param deps the required dependencies declared in {@link DefineOptions#deps} * @returns the new module */ factory(deps: ResolveDeps): Exports; } /** * Defines a new module */ export declare function define(options: DefineOptions): Promise;