import React from 'react';
import type { NavDropInfo, NavLink, NavOverflow, NavigationProps } from '../types';
interface NavigationState {
    error?: string;
    dropIndicator?: {
        top: number;
        left: number;
        width: number;
        height?: number;
        opacity?: number;
    };
}
export default class Navigation extends React.Component<NavigationProps, NavigationState> {
    static defaultProps: Pick<NavigationProps, 'indentSize'>;
    dragNode: {
        node: HTMLElement;
        link: NavLink | null;
    } | null;
    dropInfo: NavDropInfo | null;
    startPoint: {
        y: number;
        x: number;
    };
    state: NavigationState;
    componentDidMount(): void;
    componentDidUpdate(prevProps: Readonly<NavigationProps>, prevState: Readonly<NavigationState>, snapshot?: any): void;
    /**
     * 初始加载当前激活的link的deferApi
     */
    fetchActiveLinkDeferApi: () => void;
    handleClick: (link: NavLink) => void;
    toggleLink: (target: NavLink, forceFold?: boolean) => void;
    getDropInfo: (e: DragEvent, id: string, depth: number) => NavDropInfo;
    updateDropIndicator(e: DragEvent): void;
    handleDragStart(link: NavLink): (e: React.DragEvent) => void;
    handleDragOver(e: DragEvent): void;
    handleDragEnd(e: DragEvent): void;
    makeLinkClassName: (link: NavLink) => string;
    renderItem(link: NavLink, index: number, depth?: number, overflow?: boolean): JSX.Element | null;
    renderOverflowNavs(overflowConfig: NavOverflow): JSX.Element;
    render(): JSX.Element;
}
export {};
