import { ExtensionDataList } from '@teambit/legacy.extension-data'; import { ComponentID } from '@teambit/component-id'; import type { SerializableMap } from './aspect-entry'; import { AspectEntry } from './aspect-entry'; /** * list of aspects, each may have data and artifacts saved per component. */ export declare class AspectList { readonly entries: AspectEntry[]; constructor(entries: AspectEntry[]); addEntry(aspectId: ComponentID, data?: SerializableMap): AspectEntry; upsertEntry(aspectId: ComponentID, data?: SerializableMap): AspectEntry; /** * transform an aspect list into a new one without the given aspect ids */ withoutEntries(aspectIds: string[]): AspectList; /** * get all ids as strings from the aspect list. */ get ids(): string[]; /** * get an aspect from the list using a serialized ID. */ get(id: string): AspectEntry | undefined; /** * find aspect by component ID. */ find(id: ComponentID, ignoreVersion?: boolean): AspectEntry | undefined; /** * transform an aspect list into a new one. */ map(predicate: (entry: AspectEntry) => AspectEntry): AspectList; /** * transform an aspect list into a new one. */ pmap(predicate: (entry: AspectEntry) => Promise): Promise; toConfigObject(): {}; serialize(): import("./component-interface").RawComponentMetadata[]; filter(ids?: string[]): AspectList; toLegacy(): ExtensionDataList; stringIds(): string[]; clone(): AspectList; static fromLegacyExtensions(legacyDataList: ExtensionDataList): AspectList; }