/**
 * Handle virtual list of the TreeNodes.
 */
import type { FlattenNode, DataEntity, ScrollTo } from './interface';
export declare const MOTION_KEY: string;
export declare const MotionEntity: DataEntity;
export interface NodeListRef {
    scrollTo: ScrollTo;
    getIndentWidth: () => number;
}
/**
 * We only need get visible content items to play the animation.
 */
export declare function getMinimumRangeTransitionRange(list: FlattenNode[], virtual: boolean, height: number, itemHeight: number): any[];
declare const _default: import("vue").DefineComponent<{
    prefixCls: {
        type: import("vue").PropType<string>;
    };
    data: {
        type: import("vue").PropType<any[]>;
    };
    motion: {
        type: import("vue").PropType<any>;
    };
    focusable: {
        type: import("vue").PropType<boolean>;
    };
    activeItem: {
        type: import("vue").PropType<any>;
    };
    focused: {
        type: import("vue").PropType<boolean>;
    };
    tabindex: {
        type: import("vue").PropType<number>;
    };
    checkable: {
        type: import("vue").PropType<boolean>;
    };
    selectable: {
        type: import("vue").PropType<boolean>;
    };
    disabled: {
        type: import("vue").PropType<boolean>;
    };
    expandedKeys: {
        type: import("vue").PropType<any[]>;
    };
    selectedKeys: {
        type: import("vue").PropType<any[]>;
    };
    checkedKeys: {
        type: import("vue").PropType<any[]>;
    };
    loadedKeys: {
        type: import("vue").PropType<any[]>;
    };
    loadingKeys: {
        type: import("vue").PropType<any[]>;
    };
    halfCheckedKeys: {
        type: import("vue").PropType<any[]>;
    };
    keyEntities: {
        type: import("vue").PropType<Record<any, any>>;
    };
    dragging: {
        type: import("vue").PropType<boolean>;
    };
    dragOverNodeKey: {
        type: import("vue").PropType<any>;
    };
    dropPosition: {
        type: import("vue").PropType<number>;
    };
    height: {
        type: import("vue").PropType<number>;
    };
    itemHeight: {
        type: import("vue").PropType<number>;
    };
    virtual: {
        type: import("vue").PropType<boolean>;
    };
    onKeydown: {
        type: import("vue").PropType<import("../_util/EventInterface").EventHandler>;
    };
    onFocus: {
        type: import("vue").PropType<(e: FocusEvent) => void>;
    };
    onBlur: {
        type: import("vue").PropType<(e: FocusEvent) => void>;
    };
    onActiveChange: {
        type: import("vue").PropType<(key: any) => void>;
    };
    onContextmenu: {
        type: import("vue").PropType<import("../_util/EventInterface").EventHandler>;
    };
    onListChangeStart: {
        type: import("vue").PropType<() => void>;
    };
    onListChangeEnd: {
        type: import("vue").PropType<() => void>;
    };
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    prefixCls?: unknown;
    data?: unknown;
    motion?: unknown;
    focusable?: unknown;
    activeItem?: unknown;
    focused?: unknown;
    tabindex?: unknown;
    checkable?: unknown;
    selectable?: unknown;
    disabled?: unknown;
    expandedKeys?: unknown;
    selectedKeys?: unknown;
    checkedKeys?: unknown;
    loadedKeys?: unknown;
    loadingKeys?: unknown;
    halfCheckedKeys?: unknown;
    keyEntities?: unknown;
    dragging?: unknown;
    dragOverNodeKey?: unknown;
    dropPosition?: unknown;
    height?: unknown;
    itemHeight?: unknown;
    virtual?: unknown;
    onKeydown?: unknown;
    onFocus?: unknown;
    onBlur?: unknown;
    onActiveChange?: unknown;
    onContextmenu?: unknown;
    onListChangeStart?: unknown;
    onListChangeEnd?: unknown;
} & {} & {
    data?: any[];
    disabled?: boolean;
    onFocus?: (e: FocusEvent) => void;
    onBlur?: (e: FocusEvent) => void;
    onKeydown?: import("../_util/EventInterface").EventHandler;
    onContextmenu?: import("../_util/EventInterface").EventHandler;
    prefixCls?: string;
    height?: number;
    tabindex?: number;
    virtual?: boolean;
    motion?: unknown;
    selectable?: boolean;
    focused?: boolean;
    dragging?: boolean;
    selectedKeys?: any[];
    checkedKeys?: any[];
    checkable?: boolean;
    focusable?: boolean;
    activeItem?: unknown;
    expandedKeys?: any[];
    loadedKeys?: any[];
    loadingKeys?: any[];
    halfCheckedKeys?: any[];
    keyEntities?: unknown;
    dragOverNodeKey?: unknown;
    dropPosition?: number;
    itemHeight?: number;
    onActiveChange?: (key: any) => void;
    onListChangeStart?: () => void;
    onListChangeEnd?: () => void;
}>, {}>;
export default _default;
