import { type Node, type Edge, type Connection, OnNodesChange, OnEdgesChange } from '@xyflow/react';
import { type CatalogEntityNodeData } from '../../../components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsNode';
import { BffCatalogEntity, BffCatalogRelatedEntity } from '../../types';
export type UseGraphProps = {
    entity: BffCatalogEntity;
    relations: BffCatalogRelatedEntity[];
};
export type UseGraphReturn = {
    nodes: Node<CatalogEntityNodeData>[];
    edges: Edge[];
    onNodesChange: OnNodesChange<Node<CatalogEntityNodeData>>;
    onEdgesChange: OnEdgesChange<Edge>;
    onConnect: (params: Connection) => void;
};
export declare function useGraph({ entity, relations }: UseGraphProps): UseGraphReturn;
