import { Entity, ComponentEntity, ResourceEntity, DomainEntity, SystemEntity } from '@backstage/catalog-model'; import * as _backstage_core_plugin_api from '@backstage/core-plugin-api'; import { IconComponent, StorageApi, ApiHolder } from '@backstage/core-plugin-api'; import { EntityPresentationApi, CatalogApi, EntityRefPresentationSnapshot, EntityRefPresentation, StarredEntitiesApi } from '@backstage/plugin-catalog-react'; import { HumanDuration, Observable } from '@backstage/types'; import * as react_jsx_runtime from 'react/jsx-runtime'; import * as react from 'react'; import { ReactNode, ElementType } from 'react'; import { TableColumn, TableProps, InfoCardVariants, TableOptions } from '@backstage/core-components'; import { C as CatalogTableRow, a as CatalogTableColumnsFunc, D as DefaultCatalogPageProps } from './types/DefaultCatalogPage.d-C6OI0JvL.js'; import { TabProps } from '@material-ui/core/Tab'; import { Overrides } from '@material-ui/core/styles/overrides'; import { StyleRules } from '@material-ui/core/styles/withStyles'; import { IndexableDocument, ResultHighlight } from '@backstage/plugin-search-common'; import { SearchResultListItemExtensionProps } from '@backstage/plugin-search-react'; import { EntityColumnConfig } from '@backstage/plugin-catalog-react/alpha'; import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api'; /** * A custom renderer for the {@link DefaultEntityPresentationApi}. * * @public */ interface DefaultEntityPresentationApiRenderer { /** * Whether to request the entity from the catalog API asynchronously. * * @remarks * * If this is set to true, entity data will be streamed in from the catalog * whenever needed, and the render function may be called more than once: * first when no entity data existed (or with old cached data), and then again * at a later point when data is loaded from the catalog that proved to be * different from the old one. * * @defaultValue true */ async?: boolean; /** * The actual render function. * * @remarks * * This function may be called multiple times. * * The loading flag signals that the framework MAY be trying to load more * entity data from the catalog and call the render function again, if it * succeeds. In some cases you may want to render a loading state in that * case. * * The entity may or may not be given. If the caller of the presentation API * did present an entity upfront, then that's what will be passed in here. * Otherwise, it may be a server-side entity that either comes from a local * cache or directly from the server. * * In either case, the renderer should return a presentation that is the most * useful possible for the end user, given the data that is available. */ render: (options: { entityRef: string; loading: boolean; entity: Entity | undefined; context: { defaultKind?: string; defaultNamespace?: string; }; }) => { snapshot: Omit; }; } /** * Options for the {@link DefaultEntityPresentationApi}. * * @public */ interface DefaultEntityPresentationApiOptions { /** * The catalog API to use. If you want to use any asynchronous features, you * must supply one. */ catalogApi?: CatalogApi; /** * When to expire entities that have been loaded from the catalog API and * cached for a while. * * @defaultValue 10 seconds * @remarks * * The higher this value, the lower the load on the catalog API, but also the * higher the risk of users seeing stale data. */ cacheTtl?: HumanDuration; /** * For how long to wait before sending a batch of entity references to the * catalog API. * * @defaultValue 50 milliseconds * @remarks * * The higher this value, the greater the chance of batching up requests from * across a page, but also the longer the lag time before displaying accurate * information. */ batchDelay?: HumanDuration; /** * A mapping from kinds to icons. * * @remarks * * The keys are kinds (case insensitive) that map to icon values to represent * kinds by. These are merged with the default set of icons. */ kindIcons?: Record; /** * A custom renderer, if any. */ renderer?: DefaultEntityPresentationApiRenderer; } /** * Default implementation of the {@link @backstage/plugin-catalog-react#EntityPresentationApi}. * * @public */ declare class DefaultEntityPresentationApi implements EntityPresentationApi { #private; /** * Creates a new presentation API that does not reach out to the catalog. */ static createLocal(): EntityPresentationApi; /** * Creates a new presentation API that calls out to the catalog as needed to * get additional information about entities. */ static create(options: DefaultEntityPresentationApiOptions): EntityPresentationApi; private constructor(); /** {@inheritdoc @backstage/plugin-catalog-react#EntityPresentationApi.forEntity} */ forEntity(entityOrRef: Entity | string, context?: { defaultKind?: string; defaultNamespace?: string; }): EntityRefPresentation; } /** * Default implementation of the StarredEntitiesApi that is backed by the StorageApi. * * @public */ declare class DefaultStarredEntitiesApi implements StarredEntitiesApi { private readonly settingsStore; private starredEntities; constructor(opts: { storageApi: StorageApi; }); toggleStarred(entityRef: string): Promise; starredEntitie$(): Observable>; private readonly subscribers; private readonly observable; private notifyChanges; } /** * Props for {@link AboutContent}. * * @public */ interface AboutContentProps { entity: Entity; } /** @public */ declare function AboutContent(props: AboutContentProps): react_jsx_runtime.JSX.Element; /** * Props for {@link AboutField}. * * @public */ interface AboutFieldProps { label: string; value?: string; children?: ReactNode; className?: string; } /** @public */ declare function AboutField(props: AboutFieldProps): react_jsx_runtime.JSX.Element; /** * Props for {@link CatalogKindHeader}. * * @public */ interface CatalogKindHeaderProps { /** * Entity kinds to show in the dropdown; by default all kinds are fetched from the catalog and * displayed. */ allowedKinds?: string[]; /** * The initial kind to select; defaults to 'component'. A kind filter entered directly in the * query parameter will override this value. */ initialFilter?: string; } /** * @public * @deprecated This component has been deprecated in favour of the EntityKindPicker in the list of filters. If you wish to keep this component long term make sure to raise an issue at github.com/backstage/backstage */ declare function CatalogKindHeader(props: CatalogKindHeaderProps): react_jsx_runtime.JSX.Element; /** * Props for {@link CatalogTable}. * * @public */ interface CatalogTableProps { columns?: TableColumn[] | CatalogTableColumnsFunc; actions?: TableProps['actions']; tableOptions?: TableProps['options']; emptyContent?: ReactNode; /** * A static title to use for the table. If not provided, a title will be * generated based on the current Kind and Type filters and total number of items. */ title?: string; subtitle?: string; } /** * CatalogTable is a wrapper around the Table component that is pre-configured * to display catalog entities. * * @remarks * * See {@link https://backstage.io/docs/features/software-catalog/catalog-customization} * * @public */ declare const CatalogTable: { (props: CatalogTableProps): react_jsx_runtime.JSX.Element; columns: Readonly<{ createNameColumn(options?: { defaultKind?: string; entityPresentationApi?: EntityPresentationApi; }): TableColumn; createSystemColumn(): TableColumn; createOwnerColumn(): TableColumn; createSpecTargetsColumn(): TableColumn; createSpecTypeColumn(options?: { hidden: boolean; }): TableColumn; createSpecLifecycleColumn(): TableColumn; createMetadataDescriptionColumn(): TableColumn; createTagsColumn(): TableColumn; createTitleColumn(options?: { hidden?: boolean; }): TableColumn; createLabelColumn(key: string, options?: { title?: string; defaultValue?: string; }): TableColumn; createNamespaceColumn(): TableColumn; }>; defaultColumnsFunc: CatalogTableColumnsFunc; }; /** @public */ type CatalogTableToolbarClassKey = 'root' | 'text'; /** @public */ type EntityLayoutRouteProps = { path: string; title: string; children: JSX.Element; if?: (entity: Entity) => boolean; tabProps?: TabProps; }; interface ExtraContextMenuItem { title: string; Icon: IconComponent; onClick: () => void; } type VisibleType = 'visible' | 'hidden' | 'disable'; interface EntityContextMenuOptions { disableUnregister: boolean | VisibleType; } /** @public */ interface EntityLayoutProps { UNSTABLE_extraContextMenuItems?: ExtraContextMenuItem[]; UNSTABLE_contextMenuOptions?: EntityContextMenuOptions; children?: ReactNode; NotFoundComponent?: ReactNode; /** * An array of relation types used to determine the parent entities in the hierarchy. * These relations are prioritized in the order provided, allowing for flexible * navigation through entity relationships. * * For example, use relation types like `["partOf", "memberOf", "ownedBy"]` to define how the entity is related to * its parents in the Entity Catalog. * * It adds breadcrumbs in the Entity page to enhance user navigation and context awareness. */ parentEntityRelations?: string[]; } /** * EntityLayout is a compound component, which allows you to define a layout for * entities using a sub-navigation mechanism. * * Consists of two parts: EntityLayout and EntityLayout.Route * * @example * ```jsx * * *
This is rendered under /example/anything-here route
*
*
* ``` * * @public */ declare const EntityLayout: { (props: EntityLayoutProps): react_jsx_runtime.JSX.Element; Route: (props: EntityLayoutRouteProps) => null; }; /** * Returns true if the given entity has the orphan annotation given by the * catalog. * * @public */ declare function isOrphan(entity: Entity): boolean; /** * Displays a warning alert if the entity is marked as orphan with the ability * to delete said entity. * * @public */ declare function EntityOrphanWarning(): react_jsx_runtime.JSX.Element; /** * Returns true if the given entity has relations to other entities, which * don't exist in the catalog * * @public */ declare function hasRelationWarnings(entity: Entity, context: { apis: ApiHolder; }): Promise; /** * Displays a warning alert if the entity has relations to other entities, which * don't exist in the catalog * * @public */ declare function EntityRelationWarning(): react_jsx_runtime.JSX.Element | null; /** * Returns true if the given entity has any processing errors on it. * * @public */ declare function hasCatalogProcessingErrors(entity: Entity, context: { apis: ApiHolder; }): Promise; /** * Displays a list of errors from the ancestors of the current entity. * * @public */ declare function EntityProcessingErrorsPanel(): react_jsx_runtime.JSX.Element | null; /** @public */ interface EntitySwitchCaseProps { if?: (entity: Entity, context: { apis: ApiHolder; }) => boolean | Promise; children: ReactNode; } /** * Props for the {@link EntitySwitch} component. * @public */ interface EntitySwitchProps { children: ReactNode; renderMultipleMatches?: 'first' | 'all'; } /** @public */ declare const EntitySwitch: { (props: EntitySwitchProps): JSX.Element; Case: (_props: EntitySwitchCaseProps) => null; }; /** @public */ interface EntityPredicates { kind?: string | string[]; type?: string | string[]; } /** * For use in EntitySwitch.Case. Matches if the entity is of a given kind. * @public */ declare function isKind(kinds: string | string[]): (entity: Entity) => boolean; /** * For use in EntitySwitch.Case. Matches if the entity is a Component of a given spec.type. * @public */ declare function isComponentType(types: string | string[]): (entity: Entity) => boolean; /** * For use in EntitySwitch.Case. Matches if the entity is a Resource of a given spec.type. * @public */ declare function isResourceType(types: string | string[]): (entity: Entity) => boolean; /** * For use in EntitySwitch.Case. Matches if the entity is an API of a given spec.type. * @public */ declare function isApiType(types: string | string[]): (entity: Entity) => boolean; /** * For use in EntitySwitch.Case. Matches if the entity is the specified kind and type (if present). * @public */ declare function isEntityWith(predicate: EntityPredicates): (entity: Entity) => boolean; /** * For use in EntitySwitch.Case. Matches if the entity is in a given namespace. * @public */ declare function isNamespace(namespaces: string | string[]): (entity: Entity) => boolean; /** * @public * @deprecated Use `CatalogFilterLayout` from `@backstage/plugin-catalog-react` instead. */ declare const FilteredEntityLayout: (props: { children: React.ReactNode; }) => JSX.Element; /** * @public * @deprecated Use `CatalogFilterLayout.Filters` from `@backstage/plugin-catalog-react` instead. */ declare const FilterContainer: (props: { children: react.ReactNode; options?: { drawerBreakpoint?: "xs" | "sm" | "md" | "lg" | "xl" | number; drawerAnchor?: "left" | "right" | "top" | "bottom"; }; }) => react_jsx_runtime.JSX.Element; /** * @public * @deprecated Use `CatalogFilterLayout.Content` from `@backstage/plugin-catalog-react` instead. */ declare const EntityListContainer: (props: { children: react.ReactNode; }) => react_jsx_runtime.JSX.Element; /** @public */ type Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl'; /** @public */ type ColumnBreakpoints = Record; /** @public */ interface EntityLinksCardProps { cols?: ColumnBreakpoints | number; } /** @public */ type EntityLinksEmptyStateClassKey = 'code'; /** @public */ type SystemDiagramCardClassKey = 'domainNode' | 'systemNode' | 'componentNode' | 'apiNode' | 'resourceNode'; /** @public */ type EntityContextMenuClassKey = 'button'; /** @public */ type CatalogSearchResultListItemClassKey = 'item' | 'flexContainer' | 'itemText'; /** * Props for {@link CatalogSearchResultListItem}. * * @public */ interface CatalogSearchResultListItemProps { icon?: ReactNode | ((result: IndexableDocument) => ReactNode); result?: IndexableDocument; highlight?: ResultHighlight; rank?: number; lineClamp?: number; } /** @public */ interface EntityLabelsCardProps { title?: string; } /** * Returns true if the given entity has labels annotation given by the * catalog. For use by EntitySwitch * * @public */ declare function hasLabels(entity: Entity): boolean; /** @public */ type EntityLabelsEmptyStateClassKey = 'code'; /** @public */ type PluginCatalogComponentsNameToClassKey = { PluginCatalogEntityLinksEmptyState: EntityLinksEmptyStateClassKey; PluginCatalogSystemDiagramCard: SystemDiagramCardClassKey; PluginCatalogEntityContextMenu: EntityContextMenuClassKey; PluginCatalogSearchResultListItem: CatalogSearchResultListItemClassKey; PluginCatalogTableToolbar: CatalogTableToolbarClassKey; PluginCatalogEntityLabelsEmptyState: EntityLabelsEmptyStateClassKey; }; /** @public */ type BackstageOverrides = Overrides & { [Name in keyof PluginCatalogComponentsNameToClassKey]?: Partial>; }; declare module '@backstage/theme' { interface OverrideComponentNameToClassKeys extends PluginCatalogComponentsNameToClassKey { } } /** @public */ interface DependencyOfComponentsCardProps { title?: string; columnConfig?: EntityColumnConfig[]; } /** * Props for the legacy MUI-based rendering. * @deprecated Use {@link DependencyOfComponentsCardProps} instead. * @public */ interface DependencyOfComponentsCardLegacyProps { title?: string; /** @deprecated Use `columnConfig` instead. */ variant?: InfoCardVariants; /** @deprecated Use `columnConfig` instead. */ columns?: TableColumn[]; /** @deprecated Use `columnConfig` instead. */ tableOptions?: TableOptions; } /** @public */ interface DependsOnComponentsCardProps { title?: string; columnConfig?: EntityColumnConfig[]; } /** * Props for the legacy MUI-based rendering. * @deprecated Use {@link DependsOnComponentsCardProps} instead. * @public */ interface DependsOnComponentsCardLegacyProps { title?: string; /** @deprecated Use `columnConfig` instead. */ variant?: InfoCardVariants; /** @deprecated Use `columnConfig` instead. */ columns?: TableColumn[]; /** @deprecated Use `columnConfig` instead. */ tableOptions?: TableOptions; } /** @public */ interface DependsOnResourcesCardProps { title?: string; columnConfig?: EntityColumnConfig[]; } /** * Props for the legacy MUI-based rendering. * @deprecated Use {@link DependsOnResourcesCardProps} instead. * @public */ interface DependsOnResourcesCardLegacyProps { title?: string; /** @deprecated Use `columnConfig` instead. */ variant?: InfoCardVariants; /** @deprecated Use `columnConfig` instead. */ columns?: TableColumn[]; /** @deprecated Use `columnConfig` instead. */ tableOptions?: TableOptions; } /** @public */ interface HasComponentsCardProps { title?: string; columnConfig?: EntityColumnConfig[]; } /** * Props for the legacy MUI-based rendering. * @deprecated Use {@link HasComponentsCardProps} instead. * @public */ interface HasComponentsCardLegacyProps { title?: string; /** @deprecated Use `columnConfig` instead. */ variant?: InfoCardVariants; /** @deprecated Use `columnConfig` instead. */ columns?: TableColumn[]; /** @deprecated Use `columnConfig` instead. */ tableOptions?: TableOptions; } /** @public */ interface HasResourcesCardProps { title?: string; columnConfig?: EntityColumnConfig[]; } /** * Props for the legacy MUI-based rendering. * @deprecated Use {@link HasResourcesCardProps} instead. * @public */ interface HasResourcesCardLegacyProps { title?: string; /** @deprecated Use `columnConfig` instead. */ variant?: InfoCardVariants; /** @deprecated Use `columnConfig` instead. */ columns?: TableColumn[]; /** @deprecated Use `columnConfig` instead. */ tableOptions?: TableOptions; } /** @public */ interface HasSubcomponentsCardProps { title?: string; columnConfig?: EntityColumnConfig[]; kind?: string; } /** * Props for the legacy MUI-based rendering. * @deprecated Use {@link HasSubcomponentsCardProps} instead. * @public */ interface HasSubcomponentsCardLegacyProps { title?: string; /** @deprecated Use `columnConfig` instead. */ variant?: InfoCardVariants; /** @deprecated Use `columnConfig` instead. */ columns?: TableColumn[]; /** @deprecated Use `columnConfig` instead. */ tableOptions?: TableOptions; kind?: string; } /** @public */ interface HasSubdomainsCardProps { title?: string; columnConfig?: EntityColumnConfig[]; } /** * Props for the legacy MUI-based rendering. * @deprecated Use {@link HasSubdomainsCardProps} instead. * @public */ interface HasSubdomainsCardLegacyProps { title?: string; /** @deprecated Use `columnConfig` instead. */ variant?: InfoCardVariants; /** @deprecated Use `columnConfig` instead. */ tableOptions?: TableOptions; /** @deprecated Use `columnConfig` instead. */ columns?: TableColumn[]; } /** @public */ interface HasSystemsCardProps { title?: string; columnConfig?: EntityColumnConfig[]; } /** * Props for the legacy MUI-based rendering. * @deprecated Use {@link HasSystemsCardProps} instead. * @public */ interface HasSystemsCardLegacyProps { title?: string; /** @deprecated Use `columnConfig` instead. */ variant?: InfoCardVariants; /** @deprecated Use `columnConfig` instead. */ columns?: TableColumn[]; /** @deprecated Use `columnConfig` instead. */ tableOptions?: TableOptions; } /** @public */ type RelatedEntitiesCardProps = { variant?: InfoCardVariants; title: string; columns: TableColumn[]; entityKind?: string; relationType: string; emptyMessage: string; emptyHelpLink: string; asRenderableEntities: (entities: Entity[]) => T[]; tableOptions?: TableOptions; }; /** @public */ declare const catalogPlugin: _backstage_core_plugin_api.BackstagePlugin<{ catalogIndex: _backstage_core_plugin_api.RouteRef; catalogEntity: _backstage_core_plugin_api.RouteRef<{ name: string; kind: string; namespace: string; }>; }, { createComponent: _backstage_core_plugin_api.ExternalRouteRef; viewTechDoc: _backstage_core_plugin_api.ExternalRouteRef<{ name: string; kind: string; namespace: string; }, true>; createFromTemplate: _backstage_core_plugin_api.ExternalRouteRef<{ namespace: string; templateName: string; }, true>; unregisterRedirect: _backstage_core_plugin_api.ExternalRouteRef; }>; /** @public */ declare const CatalogIndexPage: (props: DefaultCatalogPageProps) => JSX.Element; /** @public */ declare const CatalogEntityPage: () => JSX.Element; /** * An example About card to show at the top of entity pages. * * @public * @remarks * * This card collects some high level information about the entity, but is just * an example component. Many organizations will want to replace it with a * custom card that is more tailored to their specific needs. The card itself is * not extremely customizable; feel free to make a copy of it as a starting * point if you like. */ declare const EntityAboutCard: () => JSX.Element; /** @public */ declare const EntityLinksCard: (props: EntityLinksCardProps) => react_jsx_runtime.JSX.Element; /** @public */ declare const EntityLabelsCard: (props: EntityLabelsCardProps) => react_jsx_runtime.JSX.Element; /** @public */ declare const EntityHasSystemsCard: (props: HasSystemsCardProps) => JSX.Element; /** @public */ declare const EntityHasComponentsCard: (props: HasComponentsCardProps) => JSX.Element; /** @public */ declare const EntityHasSubcomponentsCard: (props: HasSubcomponentsCardProps) => JSX.Element; /** @public */ declare const EntityHasSubdomainsCard: (props: HasSubdomainsCardProps) => JSX.Element; /** @public */ declare const EntityHasResourcesCard: (props: HasResourcesCardProps) => JSX.Element; /** @public */ declare const EntityDependsOnComponentsCard: (props: DependsOnComponentsCardProps) => JSX.Element; /** @public */ declare const EntityDependencyOfComponentsCard: (props: DependencyOfComponentsCardProps) => JSX.Element; /** @public */ declare const EntityDependsOnResourcesCard: (props: DependsOnResourcesCardProps) => JSX.Element; /** @public */ declare const RelatedEntitiesCard: (props: RelatedEntitiesCardProps) => JSX.Element; /** @public */ declare const CatalogSearchResultListItem: (props: SearchResultListItemExtensionProps) => JSX.Element | null; /** @public */ declare const catalogTranslationRef: _backstage_frontend_plugin_api.TranslationRef<"catalog", { readonly "deleteEntity.description": "This entity is not referenced by any location and is therefore not receiving updates."; readonly "deleteEntity.cancelButtonTitle": "Cancel"; readonly "deleteEntity.deleteButtonTitle": "Delete"; readonly "deleteEntity.dialogTitle": "Are you sure you want to delete this entity?"; readonly "deleteEntity.actionButtonTitle": "Delete entity"; readonly "indexPage.title": "{{orgName}} Catalog"; readonly "indexPage.createButtonTitle": "Create"; readonly "indexPage.supportButtonContent": "All your software catalog entities"; readonly "entityPage.notFoundMessage": "There is no {{kind}} with the requested {{link}}."; readonly "entityPage.notFoundLinkText": "kind, namespace, and name"; readonly "aboutCard.title": "About"; readonly "aboutCard.unknown": "unknown"; readonly "aboutCard.refreshButtonTitle": "Schedule entity refresh"; readonly "aboutCard.editButtonTitle": "Edit Metadata"; readonly "aboutCard.editButtonAriaLabel": "Edit"; readonly "aboutCard.createSimilarButtonTitle": "Create something similar"; readonly "aboutCard.refreshScheduledMessage": "Refresh scheduled"; readonly "aboutCard.refreshButtonAriaLabel": "Refresh"; readonly "aboutCard.launchTemplate": "Launch Template"; readonly "aboutCard.viewTechdocs": "View TechDocs"; readonly "aboutCard.viewSource": "View Source"; readonly "aboutCard.descriptionField.value": "No description"; readonly "aboutCard.descriptionField.label": "Description"; readonly "aboutCard.ownerField.value": "No Owner"; readonly "aboutCard.ownerField.label": "Owner"; readonly "aboutCard.domainField.value": "No Domain"; readonly "aboutCard.domainField.label": "Domain"; readonly "aboutCard.systemField.value": "No System"; readonly "aboutCard.systemField.label": "System"; readonly "aboutCard.parentComponentField.value": "No Parent Component"; readonly "aboutCard.parentComponentField.label": "Parent Component"; readonly "aboutCard.kindField.label": "Kind"; readonly "aboutCard.typeField.label": "Type"; readonly "aboutCard.lifecycleField.label": "Lifecycle"; readonly "aboutCard.tagsField.value": "No Tags"; readonly "aboutCard.tagsField.label": "Tags"; readonly "aboutCard.targetsField.label": "Targets"; readonly "searchResultItem.type": "Type"; readonly "searchResultItem.kind": "Kind"; readonly "searchResultItem.owner": "Owner"; readonly "searchResultItem.lifecycle": "Lifecycle"; readonly "catalogTable.allFilters": "All"; readonly "catalogTable.warningPanelTitle": "Could not fetch catalog entities."; readonly "catalogTable.viewActionTitle": "View"; readonly "catalogTable.editActionTitle": "Edit"; readonly "catalogTable.starActionTitle": "Add to favorites"; readonly "catalogTable.unStarActionTitle": "Remove from favorites"; readonly "dependencyOfComponentsCard.title": "Dependency of components"; readonly "dependencyOfComponentsCard.emptyMessage": "No component depends on this component."; readonly "dependsOnComponentsCard.title": "Depends on components"; readonly "dependsOnComponentsCard.emptyMessage": "No component is a dependency of this component."; readonly "dependsOnResourcesCard.title": "Depends on resources"; readonly "dependsOnResourcesCard.emptyMessage": "No resource is a dependency of this component."; readonly "entityContextMenu.copiedMessage": "Copied!"; readonly "entityContextMenu.moreButtonTitle": "More"; readonly "entityContextMenu.inspectMenuTitle": "Inspect entity"; readonly "entityContextMenu.copyURLMenuTitle": "Copy entity URL"; readonly "entityContextMenu.unregisterMenuTitle": "Unregister entity"; readonly "entityContextMenu.moreButtonAriaLabel": "more"; readonly "entityLabelsCard.title": "Labels"; readonly "entityLabelsCard.readMoreButtonTitle": "Read more"; readonly "entityLabelsCard.columnKeyLabel": "Label"; readonly "entityLabelsCard.columnValueLabel": "Value"; readonly "entityLabelsCard.emptyDescription": "No labels defined for this entity. You can add labels to your entity YAML as shown in the highlighted example below:"; readonly "entityLabels.ownerLabel": "Owner"; readonly "entityLabels.warningPanelTitle": "Entity not found"; readonly "entityLabels.lifecycleLabel": "Lifecycle"; readonly "entityLinksCard.title": "Links"; readonly "entityLinksCard.readMoreButtonTitle": "Read more"; readonly "entityLinksCard.emptyDescription": "No links defined for this entity. You can add links to your entity YAML as shown in the highlighted example below:"; readonly "entityNotFound.title": "Entity was not found"; readonly "entityNotFound.description": "Want to help us build this? Check out our Getting Started documentation."; readonly "entityNotFound.docButtonTitle": "DOCS"; readonly "entityTabs.tabsAriaLabel": "Tabs"; readonly entityProcessingErrorsDescription: "The error below originates from"; readonly entityRelationWarningDescription: "This entity has relations to other entities, which can't be found in the catalog.\n Entities not found are: "; readonly "hasComponentsCard.title": "Has components"; readonly "hasComponentsCard.emptyMessage": "No component is part of this system."; readonly "hasResourcesCard.title": "Has resources"; readonly "hasResourcesCard.emptyMessage": "No resource is part of this system."; readonly "hasSubcomponentsCard.title": "Has subcomponents"; readonly "hasSubcomponentsCard.emptyMessage": "No subcomponent is part of this component."; readonly "hasSubdomainsCard.title": "Has subdomains"; readonly "hasSubdomainsCard.emptyMessage": "No subdomain is part of this domain."; readonly "hasSystemsCard.title": "Has systems"; readonly "hasSystemsCard.emptyMessage": "No system is part of this domain."; readonly "relatedEntitiesCard.emptyHelpLinkTitle": "Learn how to change this."; readonly "systemDiagramCard.title": "System Diagram"; readonly "systemDiagramCard.description": "Use pinch & zoom to move around the diagram."; readonly "systemDiagramCard.edgeLabels.partOf": "part of"; readonly "systemDiagramCard.edgeLabels.dependsOn": "depends on"; readonly "systemDiagramCard.edgeLabels.provides": "provides"; }>; export { AboutContent, AboutField, CatalogEntityPage, CatalogIndexPage, CatalogKindHeader, CatalogSearchResultListItem, CatalogTable, CatalogTableColumnsFunc, CatalogTableRow, DefaultCatalogPageProps, DefaultEntityPresentationApi, DefaultStarredEntitiesApi, EntityAboutCard, EntityDependencyOfComponentsCard, EntityDependsOnComponentsCard, EntityDependsOnResourcesCard, EntityHasComponentsCard, EntityHasResourcesCard, EntityHasSubcomponentsCard, EntityHasSubdomainsCard, EntityHasSystemsCard, EntityLabelsCard, EntityLayout, EntityLinksCard, EntityListContainer, EntityOrphanWarning, EntityProcessingErrorsPanel, EntityRelationWarning, EntitySwitch, FilterContainer, FilteredEntityLayout, RelatedEntitiesCard, catalogPlugin, catalogTranslationRef, hasCatalogProcessingErrors, hasLabels, hasRelationWarnings, isApiType, isComponentType, isEntityWith, isKind, isNamespace, isOrphan, isResourceType }; export type { AboutContentProps, AboutFieldProps, BackstageOverrides, Breakpoint, CatalogKindHeaderProps, CatalogSearchResultListItemClassKey, CatalogSearchResultListItemProps, CatalogTableProps, CatalogTableToolbarClassKey, ColumnBreakpoints, DefaultEntityPresentationApiOptions, DefaultEntityPresentationApiRenderer, DependencyOfComponentsCardLegacyProps, DependencyOfComponentsCardProps, DependsOnComponentsCardLegacyProps, DependsOnComponentsCardProps, DependsOnResourcesCardLegacyProps, DependsOnResourcesCardProps, EntityContextMenuClassKey, EntityLabelsCardProps, EntityLabelsEmptyStateClassKey, EntityLayoutProps, EntityLayoutRouteProps, EntityLinksCardProps, EntityLinksEmptyStateClassKey, EntityPredicates, EntitySwitchCaseProps, EntitySwitchProps, HasComponentsCardLegacyProps, HasComponentsCardProps, HasResourcesCardLegacyProps, HasResourcesCardProps, HasSubcomponentsCardLegacyProps, HasSubcomponentsCardProps, HasSubdomainsCardLegacyProps, HasSubdomainsCardProps, HasSystemsCardLegacyProps, HasSystemsCardProps, PluginCatalogComponentsNameToClassKey, RelatedEntitiesCardProps, SystemDiagramCardClassKey };