export interface SystemjsConfigFile extends SystemjsConfigData {
    browserConfig: SystemjsConfigData;
    nodeConfig: SystemjsConfigData;
    devConfig: SystemjsConfigData;
}
export interface ModuleMapping<T> {
    [module: string]: T;
}
export declare type ModuleFileMapping = ModuleMapping<string[]>;
export declare type ModuleImportMapping = ModuleMapping<string>;
export declare type ModuleMetaData = ModuleMetaDataBase | ModuleMetaDataCJS | ModuleMetaDataAMD | GlobalModuleMetaData;
export declare type ModuleFormat = 'esm' | 'amd' | 'cjs' | 'global' | 'system' | string;
export interface ModuleMetaDataBase {
    format: 'esm' | 'system' | string;
    ModuleMetaData: any;
    crossOrigin: 'anonymous' | 'use-credentials';
    esModule: boolean;
    integrity: string;
    loader: string;
    nonce: string;
    sourceMap: any;
    scriptLoad: boolean;
}
export interface ModuleMetaDataCJS extends ModuleMetaDataBase {
    format: 'cjs';
    deps: string[];
    globals: ModuleImportMapping;
}
export interface ModuleMetaDataAMD extends ModuleMetaDataBase {
    format: 'amd';
    deps: string[];
}
export interface GlobalModuleMetaData extends ModuleMetaDataBase {
    format: 'global';
    exports: string | string[];
    deps: string[];
    globals: ModuleImportMapping;
}
export interface PackageDefine {
    defaultExtension: string | true;
    format: ModuleFormat;
    main: string;
    map: ModuleImportMapping | ModuleMapping<ModuleImportMapping>;
    meta: ModuleMapping<ModuleMetaData>;
}
export interface PartialPackageDefine {
    defaultExtension?: string | true;
    format?: ModuleFormat;
    main?: string;
    map?: ModuleImportMapping | ModuleMapping<Partial<ModuleImportMapping>>;
    meta?: ModuleMapping<Partial<ModuleMetaData>>;
}
export interface SystemjsConfigData {
    baseUrl: string;
    bundles: {};
    depCache: ModuleFileMapping;
    map: ModuleImportMapping | ModuleMapping<ModuleImportMapping>;
    meta: ModuleMapping<ModuleMetaData>;
    packages: ModuleMapping<PackageDefine>;
    packageConfigPaths: string[];
    paths: ModuleImportMapping;
    pluginFirst: boolean;
    transpiler: string | false;
    warnings: boolean;
    wasm: boolean;
}
