import { SlotProvider } from './slots'; import { RuntimeManifest } from './runtimes/runtime-manifest'; import { RuntimeDefinition } from './runtimes'; export type AspectManifest = { id: string; dependencies?: Aspect[]; slots?: SlotProvider[]; defaultConfig?: { [key: string]: any; }; declareRuntime?: RuntimeDefinition; files?: string[]; }; export declare class Aspect { id: string; dependencies: Aspect[]; readonly slots: SlotProvider[]; readonly defaultConfig: {}; readonly declareRuntime: RuntimeDefinition | undefined; readonly files: string[]; constructor(id: string, dependencies: Aspect[], slots: SlotProvider[], defaultConfig: {}, declareRuntime: RuntimeDefinition | undefined, files: string[]); private _runtimes; addRuntime(runtimeManifest: RuntimeManifest): this; getRuntime(runtimeDef: RuntimeDefinition): undefined | RuntimeManifest; getRuntimes(): RuntimeManifest[]; static create(manifest: AspectManifest): Aspect; }