import { DataEntity, FlattenNode, ScrollTo, Key } from './interface';
import { DefineComponent, ExtractPropTypes, PropType, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { EventHandler } from '../_util/EventInterface';
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): FlattenNode[];
declare const _default: DefineComponent<ExtractPropTypes<{
    prefixCls: {
        type: PropType<string>;
    };
    motion: {
        type: PropType<any>;
    };
    focusable: {
        type: PropType<boolean>;
    };
    activeItem: {
        type: PropType<FlattenNode>;
    };
    focused: {
        type: PropType<boolean>;
    };
    tabindex: {
        type: PropType<number>;
    };
    checkable: {
        type: PropType<boolean>;
    };
    selectable: {
        type: PropType<boolean>;
    };
    disabled: {
        type: PropType<boolean>;
    };
    height: {
        type: PropType<number>;
    };
    itemHeight: {
        type: PropType<number>;
    };
    virtual: {
        type: PropType<boolean>;
    };
    onScroll: {
        type: PropType<EventHandler>;
    };
    onKeydown: {
        type: PropType<EventHandler>;
    };
    onFocus: {
        type: PropType<(e: FocusEvent) => void>;
    };
    onBlur: {
        type: PropType<(e: FocusEvent) => void>;
    };
    onActiveChange: {
        type: PropType<(key: Key) => void>;
    };
    onContextmenu: {
        type: PropType<EventHandler>;
    };
    onListChangeStart: {
        type: PropType<() => void>;
    };
    onListChangeEnd: {
        type: PropType<() => void>;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
    prefixCls: {
        type: PropType<string>;
    };
    motion: {
        type: PropType<any>;
    };
    focusable: {
        type: PropType<boolean>;
    };
    activeItem: {
        type: PropType<FlattenNode>;
    };
    focused: {
        type: PropType<boolean>;
    };
    tabindex: {
        type: PropType<number>;
    };
    checkable: {
        type: PropType<boolean>;
    };
    selectable: {
        type: PropType<boolean>;
    };
    disabled: {
        type: PropType<boolean>;
    };
    height: {
        type: PropType<number>;
    };
    itemHeight: {
        type: PropType<number>;
    };
    virtual: {
        type: PropType<boolean>;
    };
    onScroll: {
        type: PropType<EventHandler>;
    };
    onKeydown: {
        type: PropType<EventHandler>;
    };
    onFocus: {
        type: PropType<(e: FocusEvent) => void>;
    };
    onBlur: {
        type: PropType<(e: FocusEvent) => void>;
    };
    onActiveChange: {
        type: PropType<(key: Key) => void>;
    };
    onContextmenu: {
        type: PropType<EventHandler>;
    };
    onListChangeStart: {
        type: PropType<() => void>;
    };
    onListChangeEnd: {
        type: PropType<() => void>;
    };
}>> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default _default;
