import React from 'react';
import { ARROW_DIR } from './enum';
declare type TArrow = ARROW_DIR.UP | ARROW_DIR.DOWN | ARROW_DIR.ROOT;
export interface ICard {
    id: number | string;
    up?: ICard[];
    down?: ICard[];
    upLength: number;
    downLength: number;
    [propName: string]: any;
}
export interface INode extends ICard {
    uuid: number;
    rank: number;
    rootUUID: number;
    parentID: number | null;
    visible?: boolean;
    hideUp?: boolean;
    hideDown?: boolean;
    [propName: string]: any;
}
export interface IEdge {
    d: string;
    source: ICard;
    target: ICard;
    direction: TArrow;
    [propName: string]: any;
}
export interface IFieldNames {
    id: string;
    up: string;
    down: string;
    upLength: string;
    downLength: string;
}
export interface IMapProps {
    data?: ICard[];
    offset?: {
        left?: number;
        top?: number;
        right?: number;
    };
    nodeStyle?: {
        offsetY?: number;
        offsetX?: number;
        width?: number;
        height?: number;
        circleWidth?: number;
    };
    fieldNames?: Partial<IFieldNames>;
    renderChild?: (info: INode) => React.ReactNode;
    fetchMoreData: (info: INode, direction: TArrow) => Promise<{
        data: ICard[];
    }>;
    [propName: string]: any;
}
export {};
