import { AnyEnvironment, EnvironmentTypes, MultiEnvironment, Target, TopLevelConfig, } from '@wixc3/engine-core'; export interface StartEnvironmentOptions extends IEnvironmentDescriptor { featureName: string; bundlePath?: string; config?: TopLevelConfig; features: Array<[string, Required]>; options?: Array<[string, string | boolean]>; inspect?: boolean; host?: Target; context?: string; } export interface IEnvironmentDescriptor { type: EnvironmentTypes; name: string; childEnvName?: string; flatDependencies?: IEnvironmentDescriptor>[]; env: ENV; } export interface MetadataCollectionAPI { getRuntimeArguments: () => IEngineRuntimeArguments; } export interface IEngineRuntimeArguments { featureName: string; basePath: string; outputPath: string; configName?: string; devport?: number; nodeEntryPath: string; workerThreadEntryPath: string; features: [featureName: string, featureDefinition: Required][]; config: TopLevelConfig; requiredModules?: string[]; runtimeOptions?: StartEnvironmentOptions['options']; } export interface IStaticFeatureDefinition { contextFilePaths?: Record; envFilePaths?: Record; preloadFilePaths?: Record; dependencies?: string[]; scopedName: string; resolvedContexts?: Record; packageName: string; filePath: string; exportedEnvs?: IEnvironmentDescriptor[]; } export const metadataApiToken = { id: 'metadata-api-token', };