import React from 'react'; import { DraggableData } from 'react-draggable'; import { ResizableProps } from 're-resizable'; import { Direction, INode, NodePosition, StyledProps } from './Container'; declare type DragEvent = React.MouseEvent | React.TouchEvent | MouseEvent | TouchEvent; export interface INodeProps extends StyledProps { node: INode; onDrag: (e: DragEvent, data: { x: number; y: number; }) => any; onDragStart: (e: DragEvent, data: DraggableData) => any; onDragStop: (e: DragEvent, data: DraggableData) => any; onResize: (e: DragEvent, directionList: Direction[], nextPosition: NodePosition) => any; onResizeStart: (e: DragEvent, directionList: Direction[]) => any; onResizeStop: (e: DragEvent, directionList: Direction[], delta: { width: number; height: number; }) => any; onClick?: (e: DragEvent, node: INode, element: HTMLElement) => any; snap?: { x?: number[]; y?: number[]; }; snapGap?: number; active?: boolean; hover?: boolean; resizableProps?: ResizableProps; disabled?: boolean; } export declare function Node({ onDrag, onDragStart, onDragStop, onResize, onResizeStart, onResizeStop, onClick, node, snap, snapGap, active, hover, className, style, resizableProps, disabled, }: INodeProps): JSX.Element; export {};