import * as React from 'react';
import { DraggableEvent, DraggableData } from 'react-draggable';
import { GraphConfig } from '../GraphConfig';
import { GraphElement, Grouping, Point, Vertex } from '../layout';
interface IGroupingRendererProps {
    grouping: Grouping;
    config: GraphConfig;
    vertices: Vertex[];
    highlighted: boolean;
    selected: boolean;
    selectGrouping: (element: Array<GraphElement>, additional?: boolean) => any;
    dragSelection: (offset: Point) => any;
    dropSelection: () => any;
    interactionMode: string;
    actions: any;
    writeable: boolean;
}
interface IGroupingRendererState {
    hovered: boolean;
}
export declare class GroupingRenderer extends React.PureComponent<IGroupingRendererProps, IGroupingRendererState> {
    gRef: React.RefObject<SVGGElement>;
    constructor(props: Readonly<IGroupingRendererProps>);
    private onDragMove;
    onDragEnd(e: DraggableEvent, data: DraggableData): void;
    onDragStart(e: DraggableEvent, data: DraggableData): void;
    onClick(e: any): void;
    onMouseOver(): void;
    onMouseOut(): void;
    render(): JSX.Element | null;
}
export {};
