///
import { BadgeLocation, GraphElement, LabelPosition, Node, NodeStatus, TopologyQuadrant } from '../../types';
import { ConnectDragSource, ConnectDropTarget, OnSelect, WithDndDragProps } from '../../behavior';
import { ShapeProps } from './shapes';
interface DefaultNodeProps {
/** Additional content added to the node */
children?: React.ReactNode;
/** Additional classes added to the node */
className?: string;
/** The graph node element to represent */
element: GraphElement;
/** Flag if the node accepts drop operations */
droppable?: boolean;
/** Flag if the user is hovering on the node */
hover?: boolean;
/** Flag if the current drag operation can be dropped on the node */
canDrop?: boolean;
/** Flag if the user is dragging the node */
dragging?: boolean;
/** Flag if the user is dragging an edge connected to the node */
edgeDragging?: boolean;
/** Flag if the node is the current drop target */
dropTarget?: boolean;
/** Flag indicating the node should be scaled, best on hover of the node at lowest scale level */
scaleNode?: boolean;
/** Label for the node. Defaults to element.getLabel() */
label?: string;
/** Secondary label for the node */
secondaryLabel?: string;
/** Flag to show the label */
showLabel?: boolean;
/** Additional classes to add to the label */
labelClassName?: string;
/** Flag to scale the label, best on hover of the node at lowest scale level */
scaleLabel?: boolean;
/** Position of the label, bottom or left. Defaults to element.getLabelPosition() or bottom */
labelPosition?: LabelPosition;
/** The maximum length of the label before truncation */
truncateLength?: number;
/** The label icon component to show in the label, takes precedence over labelIconClass */
labelIcon?: React.ReactNode;
/** The Icon class to show in the label, ignored when labelIcon is specified */
labelIconClass?: string;
/** Padding for the label's icon */
labelIconPadding?: number;
/** Text for the label's badge */
badge?: string;
/** Color to use for the label's badge background */
badgeColor?: string;
/** Color to use for the label's badge text */
badgeTextColor?: string;
/** Color to use for the label's badge border */
badgeBorderColor?: string;
/** Additional classes to use for the label's badge */
badgeClassName?: string;
/** Location of the badge relative to the label's text, inner or below */
badgeLocation?: BadgeLocation;
/** Additional items to add to the node, typically decorators */
attachments?: React.ReactNode;
/** Status of the node, Defaults to element.getNodeStatus() */
nodeStatus?: NodeStatus;
/** Flag indicating whether the node's background color should indicate node status */
showStatusBackground?: boolean;
/** Flag which displays the status decorator for the node */
showStatusDecorator?: boolean;
/** Contents of a tooltip to show on the status decorator */
statusDecoratorTooltip?: React.ReactNode;
/** Callback when the status decorator is clicked */
onStatusDecoratorClick?: (event: React.MouseEvent, element: GraphElement) => void;
/** Function to return a custom shape component for the element */
getCustomShape?: (node: Node) => React.FunctionComponent;
/** Function to return the center for a decorator for the quadrant */
getShapeDecoratorCenter?: (quadrant: TopologyQuadrant, node: Node) => {
x: number;
y: number;
};
/** Flag if the element selected. Part of WithSelectionProps */
selected?: boolean;
/** Function to call when the element should become selected (or deselected). Part of WithSelectionProps */
onSelect?: OnSelect;
/** A ref to add to the node for dragging. Part of WithDragNodeProps */
dragNodeRef?: WithDndDragProps['dndDragRef'];
/** A ref to add to the node for drag and drop. Part of WithDndDragProps */
dndDragRef?: ConnectDragSource;
/** A ref to add to the node for dropping. Part of WithDndDropProps */
dndDropRef?: ConnectDropTarget;
/** Function to call for showing a connector creation indicator. Part of WithCreateConnectorProps */
onShowCreateConnector?: () => void;
/** Function to call to hide the connector creation indicator. Part of WithCreateConnectorProps */
onHideCreateConnector?: () => void;
/** Function to call to show a context menu for the node */
onContextMenu?: (e: React.MouseEvent) => void;
/** Flag indicating that the context menu for the node is currently open */
contextMenuOpen?: boolean;
/** Flag indicating the label should move to the top layer when the node is hovered, set to `false` if you are already using TOP_LAYER on hover */
raiseLabelOnHover?: boolean;
/** Hide context menu kebab for the node */
hideContextMenuKebab?: boolean;
}
declare const DefaultNode: React.FunctionComponent;
export default DefaultNode;
//# sourceMappingURL=DefaultNode.d.ts.map