import { ExtractPropTypes, PropType } from 'vue';
import { BaseScrollerPropsT } from '../scrollbar';
export interface RenderIndexInfo {
    start: number;
    end: number;
    visible: number;
    count: number;
}
/**
 * 虚拟滚动的子项不能使用margin，会导致总高度计算不准确（无法包含margin）
 */
export declare const virtualListProps: {
    /**
     * 默认滚动到第几项
     */
    defaultStartIndex: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 列表数据，如果数据存在动态追加，需要每一项需包含唯一ID
     */
    list: {
        type: {
            (arrayLength: number): any[];
            (...items: any[]): any[];
            new (arrayLength: number): any[];
            new (...items: any[]): any[];
            isArray(arg: any): arg is any[];
            readonly prototype: any[];
            from<T>(arrayLike: ArrayLike<T>): T[];
            from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
            from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
            from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
            of<T>(...items: T[]): T[];
            readonly [Symbol.species]: ArrayConstructor;
        };
        required: boolean;
        default: never[];
    };
    /**
     * 每一项的高度，如果每一项高度不一致或不确定（渲染时确定），则不传
     */
    itemSize: {
        type: NumberConstructor;
    };
    /**
     * 不定高时，每一项的默认高度
     */
    defaultItemSize: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 前后预留项，减少滚动式空白
     */
    buffer: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 使用内置scrollbar，支持传递scrollbar配置项
     */
    scrollbar: {
        type: PropType<boolean | Partial<BaseScrollerPropsT>>;
        default: boolean;
    };
};
export type VirtualListPropsT = ExtractPropTypes<typeof virtualListProps>;
