import { SimulationLinkDatum, SimulationNodeDatum } from "d3";
import * as React from 'react';
import './rnt.css';
export declare enum NodeType {
    NODE_EDGE = "NODE_EDGE",
    NODE_ROUTER = "NODE_ROUTER",
    NODE_SWITCH = "NODE_SWITCH",
    NODE_UNKNOWN = "NODE_UNKNOWN"
}
export declare class HostNode implements SimulationNodeDatum {
    nodeName: string;
    nodeType: NodeType;
    index?: number;
    x?: number;
    y?: number;
    vx?: number;
    vy?: number;
    fx?: number | null;
    fy?: number | null;
    constructor(name: string, idx: number, type: NodeType);
    setNodeType(type: NodeType): void;
}
export declare class HostLink implements SimulationLinkDatum<SimulationNodeDatum> {
    source: number;
    target: number;
    distance: number;
}
interface NodeLink {
    nodes: HostNode[];
    links: HostLink[];
    width: number;
    height: number;
    id: string;
    size?: number;
    onClick?: (host: string) => void;
}
export default class ReactNetworkTopology extends React.Component<NodeLink> {
    render(): JSX.Element;
    componentDidMount(): void;
    componentDidUpdate(prevProps: Readonly<NodeLink>, prevState: Readonly<{}>, snapshot?: any): void;
}
export {};
//# sourceMappingURL=index.d.ts.map