## API Report File for "@backstage/plugin-catalog-graph"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts
/// <reference types="react" />

import { BackstagePlugin } from '@backstage/core-plugin-api';
import { DependencyGraphTypes } from '@backstage/core-components';
import { EntityName } from '@backstage/catalog-model';
import { ExternalRouteRef } from '@backstage/core-plugin-api';
import { InfoCardVariants } from '@backstage/core-components';
import { MouseEvent as MouseEvent_2 } from 'react';
import { MouseEventHandler } from 'react';
import { RouteRef } from '@backstage/core-plugin-api';

// @public
export const ALL_RELATION_PAIRS: RelationPairs;

// @public
export const CatalogGraphPage: ({
  relationPairs,
  initialState,
}: {
  relationPairs?: RelationPairs | undefined;
  initialState?:
    | {
        selectedRelations?: string[] | undefined;
        selectedKinds?: string[] | undefined;
        rootEntityRefs?: string[] | undefined;
        maxDepth?: number | undefined;
        unidirectional?: boolean | undefined;
        mergeRelations?: boolean | undefined;
        direction?: Direction | undefined;
        showFilters?: boolean | undefined;
      }
    | undefined;
}) => JSX.Element;

// @public
export const catalogGraphPlugin: BackstagePlugin<
  {
    catalogGraph: RouteRef<undefined>;
  },
  {
    catalogEntity: ExternalRouteRef<
      {
        name: string;
        kind: string;
        namespace: string;
      },
      false
    >;
  }
>;

// @public
export const catalogGraphRouteRef: RouteRef<undefined>;

// @public
export enum Direction {
  BOTTOM_TOP = 'BT',
  LEFT_RIGHT = 'LR',
  RIGHT_LEFT = 'RL',
  TOP_BOTTOM = 'TB',
}

// @public
export const EntityCatalogGraphCard: ({
  variant,
  relationPairs,
  maxDepth,
  unidirectional,
  mergeRelations,
  kinds,
  relations,
  direction,
  height,
  title,
  zoom,
}: {
  variant?: InfoCardVariants | undefined;
  relationPairs?: RelationPairs | undefined;
  maxDepth?: number | undefined;
  unidirectional?: boolean | undefined;
  mergeRelations?: boolean | undefined;
  kinds?: string[] | undefined;
  relations?: string[] | undefined;
  direction?: Direction | undefined;
  height?: number | undefined;
  title?: string | undefined;
  zoom?: 'disabled' | 'enabled' | 'enable-on-click' | undefined;
}) => JSX.Element;

// @public
export type EntityEdge = DependencyGraphTypes.DependencyEdge<{
  relations: string[];
  label: 'visible';
}>;

// @public
export type EntityNode = DependencyGraphTypes.DependencyNode<{
  name: string;
  kind?: string;
  title?: string;
  namespace: string;
  focused?: boolean;
  color?: 'primary' | 'secondary' | 'default';
  onClick?: MouseEventHandler<unknown>;
}>;

// @public
export const EntityRelationsGraph: ({
  rootEntityNames,
  maxDepth,
  unidirectional,
  mergeRelations,
  kinds,
  relations,
  direction,
  onNodeClick,
  relationPairs,
  className,
  zoom,
}: {
  rootEntityNames: EntityName | EntityName[];
  maxDepth?: number | undefined;
  unidirectional?: boolean | undefined;
  mergeRelations?: boolean | undefined;
  kinds?: string[] | undefined;
  relations?: string[] | undefined;
  direction?: Direction | undefined;
  onNodeClick?:
    | ((value: EntityNode, event: MouseEvent_2<unknown>) => void)
    | undefined;
  relationPairs?: RelationPairs | undefined;
  className?: string | undefined;
  zoom?: 'disabled' | 'enabled' | 'enable-on-click' | undefined;
}) => JSX.Element;

// @public
export type RelationPairs = [string, string][];
```
