import { CompoundEntityRef } from '@backstage/catalog-model';
import { DependencyGraphTypes } from '@backstage/core-components';
import React, { MouseEvent } from 'react';
import { RelationPairs } from './relations';
import { Direction, EntityEdge, EntityNode } from './types';
/**
 * @public
 */
export type EntityRelationsGraphProps = {
    rootEntityNames: CompoundEntityRef | CompoundEntityRef[];
    maxDepth?: number;
    unidirectional?: boolean;
    mergeRelations?: boolean;
    kinds?: string[];
    relations?: string[];
    direction?: Direction;
    onNodeClick?: (value: EntityNode, event: MouseEvent<unknown>) => void;
    relationPairs?: RelationPairs;
    className?: string;
    zoom?: 'enabled' | 'disabled' | 'enable-on-click';
    renderNode?: DependencyGraphTypes.RenderNodeFunction<EntityNode>;
    renderLabel?: DependencyGraphTypes.RenderLabelFunction<EntityEdge>;
    curve?: 'curveStepBefore' | 'curveMonotoneX';
    showArrowHeads?: boolean;
};
/**
 * Core building block for custom entity relations diagrams.
 *
 * @public
 */
export declare const EntityRelationsGraph: (props: EntityRelationsGraphProps) => React.JSX.Element;
