import { Arrow, Marker, Shape } from '@antv/f6-core';
import { ICanvas, IGroup, IShape } from '@antv/g-base';
import * as Algorithm from '@antv/algorithm';
import Graph from './graph/graph';
import { Layout, registerLayout } from './layout';
import Global from './global';
import Util from './util';
import './element';
import './behavior';
declare const F6: {
    version: string;
    Graph: typeof Graph;
    Util: any;
    Layout: typeof Layout;
    Layouts: {
        [key: string]: any;
    };
    registerLayout: (name: string, layoutOverride: any) => void;
    unRegisterLayout: (name: string) => void;
    Global: {
        version: string;
        rootContainerClassName: string;
        uiContainerClassName: string;
        waterContainerClassName: string;
        nodeContainerClassName: string;
        edgeContainerClassName: string;
        comboContainerClassName: string;
        delegateContainerClassName: string;
        defaultLoopPosition: string;
        nodeLabel: {
            style: {
                fill: string;
                fontSize: number;
                textAlign: string;
                textBaseline: string;
            };
            offset: number;
        };
        defaultNode: {
            type: string;
            style: {
                lineWidth: number;
                stroke: any;
                fill: any;
            };
            size: number;
            color: any;
            linkPoints: {
                size: number;
                lineWidth: number;
                fill: any;
                stroke: any;
            };
        };
        nodeStateStyles: {
            active: {
                fill: any;
                stroke: any;
                lineWidth: number;
                shadowColor: any;
                shadowBlur: number;
            };
            selected: {
                fill: any;
                stroke: any;
                lineWidth: number;
                shadowColor: any;
                shadowBlur: number;
                'text-shape': {
                    fontWeight: number;
                };
            };
            highlight: {
                fill: any;
                stroke: any;
                lineWidth: number;
                'text-shape': {
                    fontWeight: number;
                };
            };
            inactive: {
                fill: any;
                stroke: any;
                lineWidth: number;
            };
            disable: {
                fill: any;
                stroke: any;
                lineWidth: number;
            };
        };
        edgeLabel: {
            style: {
                fill: string;
                textAlign: string;
                textBaseline: string;
                fontSize: number;
            };
        };
        defaultEdge: {
            type: string;
            size: number;
            style: {
                stroke: any;
                lineAppendWidth: number;
            };
            color: any;
        };
        edgeStateStyles: {
            active: {
                stroke: any;
                lineWidth: number;
            };
            selected: {
                stroke: any;
                lineWidth: number;
                shadowColor: any;
                shadowBlur: number;
                'text-shape': {
                    fontWeight: number;
                };
            };
            highlight: {
                stroke: any;
                lineWidth: number;
                'text-shape': {
                    fontWeight: number;
                };
            };
            inactive: {
                stroke: any;
                lineWidth: number;
            };
            disable: {
                stroke: any;
                lineWidth: number;
            };
        };
        comboLabel: {
            style: {
                fill: string;
                textBaseline: string;
                fontSize: number;
            };
            refY: number;
            refX: number;
        };
        defaultCombo: {
            type: string;
            style: {
                fill: any;
                lineWidth: number;
                stroke: any;
                r: number;
                width: number;
                height: number;
            };
            size: number[];
            color: any;
            padding: number[];
        };
        comboStateStyles: {
            active: {
                stroke: any;
                lineWidth: number;
                fill: any;
            };
            selected: {
                stroke: any;
                lineWidth: number;
                fill: any;
                shadowColor: any;
                shadowBlur: number;
                'text-shape': {
                    fontWeight: number;
                };
            };
            highlight: {
                stroke: any;
                lineWidth: number;
                fill: any;
                'text-shape': {
                    fontWeight: number;
                };
            };
            inactive: {
                stroke: any;
                fill: any;
                lineWidth: number;
            };
            disable: {
                stroke: any;
                fill: any;
                lineWidth: number;
            };
        };
        delegateStyle: {
            fill: string;
            fillOpacity: number;
            stroke: string;
            strokeOpacity: number;
            lineDash: number[];
        };
        textWaterMarkerConfig: {
            width: number;
            height: number;
            compatible: boolean;
            text: {
                x: number;
                y: number;
                lineHeight: number;
                rotate: number;
                fontSize: number;
                fontFamily: string;
                fill: string;
                baseline: string;
            };
        };
        imageWaterMarkerConfig: {
            image: {
                x: number;
                y: number;
                width: number;
                height: number;
                rotate: number;
            };
        };
        waterMarkerImage: string;
    };
    registerBehavior: (type: string, behavior: import("@antv/f6-core").BehaviorOption) => void;
    registerCombo: typeof Shape.registerCombo;
    registerEdge: typeof Shape.registerEdge;
    registerNode: typeof Shape.registerNode;
    Algorithm: typeof Algorithm;
    Arrow: {
        triangle: (width?: number, length?: number, d?: number) => string;
        vee: (width?: number, length?: number, d?: number) => string;
        circle: (r?: number, d?: number) => string;
        rect: (width?: number, length?: number, d?: number) => string;
        diamond: (width?: number, length?: number, d?: number) => string;
        triangleRect: (tWidth?: number, tLength?: number, rWidth?: number, rLength?: number, gap?: number, d?: number) => string;
    };
    Marker: {
        collapse: (x: any, y: any, r: any) => any[][];
        expand: (x: any, y: any, r: any) => any[][];
        upTriangle: (x: any, y: any, r: any) => any[][];
        downTriangle: (x: any, y: any, r: any) => any[][];
    };
    Shape: typeof Shape;
};
declare const registerGraph: (registerName: string, registerFunction: any) => Object;
export * from '@antv/f6-core';
export * from './types';
export * from './interface/graph';
export { Graph, Util, Layout, registerLayout, registerGraph, Global, Algorithm, Arrow, Marker, Shape, ICanvas, IGroup, IShape, };
export default F6;
