import type { CompositionProps } from '@teambit/compositions'; import { Composition } from '@teambit/compositions'; import type { DeprecationInfo } from '@teambit/deprecation'; import type { Descriptor } from '@teambit/envs'; import type { ComponentIdObj } from '@teambit/component-id'; import { ComponentID } from '@teambit/component-id'; import type { LegacyComponentLog } from '@teambit/legacy-component-log'; import type { ComponentPreviewSize } from '@teambit/preview'; import { TagMap } from '../../tag-map'; import type { TagProps } from '../../tag/tag'; export type ComponentModelProps = { id: ComponentIdObj; description: string; buildStatus?: string; server?: ComponentServer; displayName: string; packageName: string; compositions?: CompositionProps[]; tags?: TagProps[]; issuesCount?: number; status?: any; deprecation?: DeprecationInfo; env?: Descriptor; labels?: string[]; host?: string; latest?: string; preview?: ComponentPreview; logs?: LegacyComponentLog[]; size?: ComponentPreviewSize; }; export type ComponentPreview = { includesEnvTemplate?: boolean; isScaling?: boolean; onlyOverview?: boolean; legacyHeader?: boolean; useNameParam?: boolean; skipIncludes?: boolean; }; export type ComponentServer = { env: string; /** * Full dev server url. */ url?: string; /** * host of the component server (used mostly by cloud providers for remote scopes) */ host?: string; /** * This is used mostly by cloud to proxy requests to the correct scope. */ basePath?: string; }; export declare class ComponentModel { /** * id of the component */ readonly id: ComponentID; /** * display name of the component. */ readonly displayName: string; /** * package name of the component. */ readonly packageName: string; /** * the component server. */ readonly server: ComponentServer | undefined; /** * array of compositions */ readonly compositions: Composition[]; /** * tags of the component. */ readonly tags: TagMap; /** * component build status */ readonly buildStatus?: string | undefined; /** * issues of component. */ readonly issuesCount?: number | undefined; /** * status of component. */ readonly status?: any | undefined; /** * deprecation info of the component. */ readonly deprecation?: DeprecationInfo | undefined; /** * env descriptor. */ readonly environment?: Descriptor | undefined; /** * description of the component. */ readonly description: string; readonly labels: string[]; /** * host of the component */ readonly host?: string | undefined; /** * * size preview */ readonly size?: ComponentPreviewSize | undefined; /** * latest version of component */ readonly latest?: string | undefined; readonly preview?: ComponentPreview | undefined; readonly logs?: LegacyComponentLog[] | undefined; constructor( /** * id of the component */ id: ComponentID, /** * display name of the component. */ displayName: string, /** * package name of the component. */ packageName: string, /** * the component server. */ server: ComponentServer | undefined, /** * array of compositions */ compositions: Composition[], /** * tags of the component. */ tags: TagMap, /** * component build status */ buildStatus?: string | undefined, /** * issues of component. */ issuesCount?: number | undefined, /** * status of component. */ status?: any | undefined, /** * deprecation info of the component. */ deprecation?: DeprecationInfo | undefined, /** * env descriptor. */ environment?: Descriptor | undefined, /** * description of the component. */ description?: string, labels?: string[], /** * host of the component */ host?: string | undefined, /** * * size preview */ size?: ComponentPreviewSize | undefined, /** * latest version of component */ latest?: string | undefined, preview?: ComponentPreview | undefined, logs?: LegacyComponentLog[] | undefined); get version(): string; /** * create an instance of a component from a plain object. */ static from({ id, server, displayName, compositions, packageName, tags, deprecation, buildStatus, env, status, issuesCount, description, labels, host, latest, preview, size, logs, }: ComponentModelProps): ComponentModel; static fromArray(componentsProps: ComponentModelProps[]): ComponentModel[]; static empty(): ComponentModel; }