import * as React from 'react';
interface Template {
    name: string;
    content: unknown;
}
interface DefineData {
    [name: string]: string;
}
interface Node {
    [name: string]: unknown;
    id?: string;
    defineData?: DefineData;
    position?: [number, number];
    input?: Array<Record<string, unknown>>;
    output?: Array<Record<string, unknown>>;
}
interface Edge {
    [name: string]: unknown;
    src: string;
    to: string;
}
interface Data {
    nodes: Node[];
    edges: Edge[];
}
interface GuideLine {
    on?: boolean;
    style?: Record<string, unknown>;
}
interface AutoSort {
    on?: boolean;
    horizontal?: boolean;
    align?: boolean;
    beginX?: number;
    beginY?: number;
    spaceX?: number;
    spaceY?: number;
    type?: 'default' | 'withMedium';
    hryType?: 'default' | 'barycenter';
}
interface FrameSelect {
    style?: Record<string, unknown>;
}
interface Zoom {
    default?: boolean;
    minScale?: number;
    maxScale?: number;
}
interface Pan {
    default?: boolean;
}
interface Config {
    isStatic?: boolean;
    relationMapping?: 'o2m' | 'm2m';
    cWidth?: number;
    cHeight?: number;
    templateName?: string;
    guideLine?: GuideLine;
    autoSort?: AutoSort;
    frameSelect?: FrameSelect;
    zoom?: Zoom;
    pan?: Pan;
    dragWithinCanvas?: boolean;
}
interface FlowProps {
    classname?: string;
    style?: React.CSSProperties;
    width?: number;
    height?: number;
    data?: Data;
    config?: Config;
    templates?: Template[];
}
declare const _default: React.ForwardRefExoticComponent<FlowProps & React.RefAttributes<unknown>>;
export default _default;
