import * as React from 'react';
import { DraggableEvent, DraggableData } from 'react-draggable';
import { GraphConfig } from '../GraphConfig';
import { Point } from '../layout/Point';
import './EdgeLabelRenderer.scss';
interface IEdgeLabelRendererProps {
    labelText: string;
    config: GraphConfig;
    center: Point;
    onClick: (e: any) => void;
    dragSelection: (offset: Point, initialPosition?: Point) => any;
    dropSelection: () => any;
    outlineColor?: string;
    textColor?: string;
    svgRef: React.RefObject<SVGSVGElement>;
    writeable: boolean;
}
interface IEdgeLabelRendererState {
    textExtents: any;
}
export declare class EdgeLabelRenderer extends React.PureComponent<IEdgeLabelRendererProps, IEdgeLabelRendererState> {
    gRef: React.RefObject<SVGGElement>;
    text: any;
    dragInitial: Point;
    constructor(props: IEdgeLabelRendererProps);
    componentDidMount(): void;
    componentDidUpdate(prevProps: IEdgeLabelRendererProps): void;
    private onDragMove;
    onDragEnd(e: DraggableEvent, data: DraggableData): void;
    onDragStart(e: DraggableEvent, data: DraggableData): void;
    render(): JSX.Element;
}
export {};
