import type { ComponentID } from '@teambit/component-id'; export interface IComponent { /** * id of the component. */ id: ComponentID; /** * get function to retrieve aspect */ get(aspectId: string): RawComponentMetadata | undefined; /** * determines whether a component is a modified state. * TODO: consider to remove after handling component descriptors correctly. */ isModified(): Promise; } export type RawComponentMetadata = { id: string; config: Record; data: Record; icon?: string; };