import { ModuleType } from './Module'; import { Package } from './Package'; import { Loader } from './Loader'; export declare type ModuleFormat = 'js' | 'amd' | 'cjs' | 'system' | 'esm' | 'ts' | 'tsx' | 'd.ts' | 'node'; export declare type ModuleFactory = (...args: any[]) => any; export interface DepRef { /** True if dependency will be imported after resolving. * Existance checks can also load the file to save data transfers. */ isImport?: boolean; /** Name of referenced but not yet fetched package. */ pendingPackageName?: string; defaultExt?: string; module?: ModuleType; record?: Record; package?: Package; format?: string; sourceCode?: string; } export declare class Record { loader: Loader; /** Resolved module name. */ resolvedKey: string; /** Unresolved name used in import. */ importKey?: string | undefined; pkg?: Package | undefined; constructor(loader: Loader, /** Resolved module name. */ resolvedKey: string, /** Unresolved name used in import. */ importKey?: string | undefined, pkg?: Package | undefined); addDep(key: string): number; addBundled(child: Record): Record; resolveDep(key: string, ref: DepRef): void; wrapArgs(...defs: { [name: string]: any; }[]): void; /** Autodetected or configured format of the module. */ format?: ModuleFormat; formatBlacklist: { [format: string]: boolean; }; parentBundle?: Record; bundleChildren?: Record[]; /** Module object accessible from inside its code. * Must be set in the translate step to support circular dependencies. */ moduleInternal: ModuleType; isInstantiated?: boolean; loadError: any; /** Names of imports detected in source code or listed in AMD defines. */ depList: string[]; /** Indices (offset by 3) of AMD define callback params in depList. * Indices 0-2 reference require, exports, module. */ depNumList: number[]; /** Map of import names to their load records or exported objects. */ depTbl: { [key: string]: DepRef; }; globalTbl: { [name: string]: any; }; /** Table of recursive dependencies seen, to break circular chains. */ deepDepTbl: { [resolvedKey: string]: Record; }; /** Promises for translations of all recursive dependencies. */ deepDepList: Record[]; /** Fetched and translated source code. */ sourceCode: string; /** Source code wrapped and compiled into an executable function. */ compiled: ModuleFactory; factory: ModuleFactory; evalArgs: any[]; /** Index within bundle if applicable. */ num?: number; /** Promise resolved after discovery or rejected with a load error. */ discovered?: Promise; }