/**
 * virtual list default component
 * rewrite by uct8086
 */
declare enum SLOT_TYPE {
    HEADER = "thead",
    FOOTER = "tfoot"
}
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    readonly shadow: {
        type: import("vue").PropType<import("../scrollbar/const").ShadowType>;
        default: boolean;
    };
    readonly height: {
        type: import("vue").PropType<string | number>;
    };
    readonly maxHeight: {
        type: import("vue").PropType<string | number>;
    };
    readonly native: {
        type: BooleanConstructor;
        default: boolean;
    };
    readonly always: {
        type: BooleanConstructor;
        default: boolean;
    };
    readonly minSize: {
        type: NumberConstructor;
        default: number;
    };
    readonly horizontalRatioStyle: {
        type: import("vue").PropType<import("vue").StyleValue>;
    };
    readonly verticalRatioStyle: {
        type: import("vue").PropType<import("vue").StyleValue>;
    };
    readonly shadowStyle: {
        type: import("vue").PropType<import("vue").StyleValue>;
    };
    readonly dataKey: {
        readonly type: import("vue").PropType<string | ((dataSource: any) => string | number)>;
        readonly required: true;
    };
    readonly dataSources: {
        readonly type: import("vue").PropType<any[]>;
        readonly required: true;
        readonly default: () => any[];
    };
    readonly keeps: {
        readonly type: NumberConstructor;
        readonly default: 30;
    };
    readonly extraProps: {
        readonly type: ObjectConstructor;
    };
    readonly estimateSize: {
        readonly type: NumberConstructor;
        readonly default: 50;
    };
    readonly observeResize: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly direction: {
        readonly type: import("vue").PropType<"vertical" | "horizontal">;
        readonly default: "vertical";
    };
    readonly start: {
        readonly type: NumberConstructor;
        readonly default: 0;
    };
    readonly offset: {
        readonly type: NumberConstructor;
        readonly default: 0;
    };
    readonly topThreshold: {
        readonly type: NumberConstructor;
        readonly default: 0;
    };
    readonly bottomThreshold: {
        readonly type: NumberConstructor;
        readonly default: 0;
    };
    readonly pageMode: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly wrapTag: {
        readonly type: StringConstructor;
        readonly default: "div";
    };
    readonly wrapClass: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly wrapStyle: {
        readonly type: ObjectConstructor;
    };
    readonly renderItemList: {
        readonly type: import("vue").PropType<(itemVNodes: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]>;
    };
}>, {
    reset: () => void;
    scrollToBottom: () => void;
    scrollToIndex: (index: number) => void;
    scrollToOffset: (offset: number) => void;
    getSize: (id: number | string) => number;
    getSizes: () => number;
    getOffset: () => number;
    getClientSize: () => number;
    getScrollSize: () => number;
    onScroll: (evt: Event) => void;
    getRenderItems: () => any[];
    onItemResized: (id: number | string, size: number) => void;
    onSlotResized: (type: SLOT_TYPE, size: number, hasInit: boolean) => void;
    isHorizontal: boolean;
    rootRef: import("vue").Ref<any, any>;
    rangeRef: import("vue").Ref<any, any>;
    scrollRef: import("vue").Ref<any, any>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("scroll" | "toTop" | "toBottom" | "resized")[], "scroll" | "toTop" | "toBottom" | "resized", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    readonly shadow: {
        type: import("vue").PropType<import("../scrollbar/const").ShadowType>;
        default: boolean;
    };
    readonly height: {
        type: import("vue").PropType<string | number>;
    };
    readonly maxHeight: {
        type: import("vue").PropType<string | number>;
    };
    readonly native: {
        type: BooleanConstructor;
        default: boolean;
    };
    readonly always: {
        type: BooleanConstructor;
        default: boolean;
    };
    readonly minSize: {
        type: NumberConstructor;
        default: number;
    };
    readonly horizontalRatioStyle: {
        type: import("vue").PropType<import("vue").StyleValue>;
    };
    readonly verticalRatioStyle: {
        type: import("vue").PropType<import("vue").StyleValue>;
    };
    readonly shadowStyle: {
        type: import("vue").PropType<import("vue").StyleValue>;
    };
    readonly dataKey: {
        readonly type: import("vue").PropType<string | ((dataSource: any) => string | number)>;
        readonly required: true;
    };
    readonly dataSources: {
        readonly type: import("vue").PropType<any[]>;
        readonly required: true;
        readonly default: () => any[];
    };
    readonly keeps: {
        readonly type: NumberConstructor;
        readonly default: 30;
    };
    readonly extraProps: {
        readonly type: ObjectConstructor;
    };
    readonly estimateSize: {
        readonly type: NumberConstructor;
        readonly default: 50;
    };
    readonly observeResize: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly direction: {
        readonly type: import("vue").PropType<"vertical" | "horizontal">;
        readonly default: "vertical";
    };
    readonly start: {
        readonly type: NumberConstructor;
        readonly default: 0;
    };
    readonly offset: {
        readonly type: NumberConstructor;
        readonly default: 0;
    };
    readonly topThreshold: {
        readonly type: NumberConstructor;
        readonly default: 0;
    };
    readonly bottomThreshold: {
        readonly type: NumberConstructor;
        readonly default: 0;
    };
    readonly pageMode: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly wrapTag: {
        readonly type: StringConstructor;
        readonly default: "div";
    };
    readonly wrapClass: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly wrapStyle: {
        readonly type: ObjectConstructor;
    };
    readonly renderItemList: {
        readonly type: import("vue").PropType<(itemVNodes: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]>;
    };
}>> & Readonly<{
    onScroll?: (...args: any[]) => any;
    onToTop?: (...args: any[]) => any;
    onToBottom?: (...args: any[]) => any;
    onResized?: (...args: any[]) => any;
}>, {
    readonly shadow: import("../scrollbar/const").ShadowType;
    readonly always: boolean;
    readonly start: number;
    readonly native: boolean;
    readonly minSize: number;
    readonly offset: number;
    readonly dataSources: any[];
    readonly keeps: number;
    readonly estimateSize: number;
    readonly observeResize: boolean;
    readonly direction: "vertical" | "horizontal";
    readonly topThreshold: number;
    readonly bottomThreshold: number;
    readonly pageMode: boolean;
    readonly wrapTag: string;
    readonly wrapClass: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
