///
import { TooltipProps } from '@patternfly/react-core';
import { PopoverProps } from '@patternfly/react-core';
import { GraphElement } from '../../../types';
import { RunStatus } from '../../types';
import { OnSelect } from '../../../behavior';
export interface TaskNodeProps {
/** 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;
/** Padding to use before and after contents */
paddingX?: number;
/** Padding to use above and below contents */
paddingY?: number;
/** Additional classes added to the label */
nameLabelClass?: string;
/** RunStatus to depict */
status?: RunStatus;
/** Size of the status icon */
statusIconSize?: number;
/** Flag indicating the status indicator */
showStatusState?: boolean;
/** Custom icon to use as the status icon */
customStatusIcon?: React.ReactNode;
/** Flag indicating the node should be scaled, best on hover of the node at lowest scale level */
scaleNode?: boolean;
/** Flag to hide details at medium scale */
hideDetailsAtMedium?: boolean;
/** Statuses to show at when details are hidden */
hiddenDetailsShownStatuses?: RunStatus[];
/** Additional icon to be shown before the task label*/
leadIcon?: React.ReactNode;
/** 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;
/** Set to use a tooltip on the badge, takes precedence over the badgePopoverParams */
badgeTooltip?: React.ReactNode;
/** Set to use a popover on the badge, ignored if the badgeTooltip parameter is set */
badgePopoverParams?: PopoverProps;
/** Icon to show for the task */
taskIconClass?: string;
/** Element to show for the task icon */
taskIcon?: React.ReactNode;
/** Set to use a tooltip on the task icon */
taskIconTooltip?: React.ReactNode;
/** Padding to use around the task icon */
taskIconPadding?: number;
/** Flag if the user is hovering on the node */
hover?: boolean;
/** The maximum length of the label before truncation */
truncateLength?: number;
/** Flag if the tooltip is disabled */
disableTooltip?: boolean;
/** Tooltip to show on node hover */
toolTip?: React.ReactNode;
/** Tooltip properties to pass along to the node's tooltip */
toolTipProps?: Omit;
/** Size of the when expression indicator */
whenSize?: number;
/** Distance from the when expression indicator to the node */
whenOffset?: number;
/** Icon to use for the action menu */
actionIcon?: React.ReactElement;
/** Additional classes to use for the action icon */
actionIconClassName?: string;
/** Callback when the action icon is clicked */
onActionIconClick?: (e: React.MouseEvent) => void;
/** Flag if the element is selected. Part of WithSelectionProps */
selected?: boolean;
/** Function to call when the element should become selected (or deselected). Part of WithSelectionProps */
onSelect?: OnSelect;
/** 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;
/** Hide context menu kebab for the node */
hideContextMenuKebab?: boolean;
/** Number of shadowed pills to show */
shadowCount?: number;
/** Offset for each shadow */
shadowOffset?: number;
}
declare const TaskNode: React.FC;
export default TaskNode;
//# sourceMappingURL=TaskNode.d.ts.map