interface Ijson {
    [key: string]: string | number | boolean;
}
interface IdisplayItem extends Ijson {
    itemIndex: number;
    key: number;
}
interface IstringWH {
    width: string;
    height: string;
}
declare const _default: import("vue").DefineComponent<{
    /**滚动条Y*/
    y: {
        type: NumberConstructor;
        required: true;
    };
    /**容器的宽度*/
    width: {
        type: NumberConstructor;
        default: number;
    };
    /**容器的高度*/
    height: {
        type: NumberConstructor;
        default: number;
    };
    /**图片的间距
     * （水平|垂直）
     */
    gap: {
        type: NumberConstructor;
        default: number;
    };
    /**图片数据
     * （Json数组，要求至少包含图片路径，key值[srcKey]可自定义，默认src）
     */
    imgsArr: {
        type: ArrayConstructor;
        required: true;
    };
    /**图片基础宽度，据此算出图片自适应宽度
     * （ 0.5 \* imgWidth < imgWidth < 1.5 \* imgWidth ）
     */
    imgWidth: {
        type: NumberConstructor;
        default: number;
    };
    /**最大列数，0为不限制*/
    maxCols: {
        type: NumberConstructor;
        default: number;
    };
    /**追加高度，可以使图片的父元素更高一些，方便添加额外元素，如工具栏*/
    moreHeight: {
        type: NumberConstructor;
        default: number;
    };
    /**是否预加载图片，会增加服务器压力，但用户体验更好*/
    preloadImg: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**块的大小（方形）*/
    sectionSize: {
        type: NumberConstructor;
        default: number;
    };
    /**图片数据中图片路径的key值*/
    srcKey: {
        type: StringConstructor;
        default: string;
    };
}, {
    waterfallExStyle: import("vue").ComputedRef<IstringWH>;
    displayItems: import("vue").Ref<{
        [x: string]: string | number | boolean;
        itemIndex: number;
        key: number;
    }[]>;
    getComputedStyle: (displayItem: IdisplayItem) => {
        left: string;
        top: string;
        width: string;
        height: string;
    };
    setSelected: (ids: (string | number)[], stats: boolean) => void;
    refresh: () => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    y: number;
    width: number;
    height: number;
    gap: number;
    imgsArr: unknown[];
    imgWidth: number;
    maxCols: number;
    moreHeight: number;
    preloadImg: boolean;
    sectionSize: number;
    srcKey: string;
} & {}>, {
    width: number;
    height: number;
    gap: number;
    imgWidth: number;
    maxCols: number;
    moreHeight: number;
    preloadImg: boolean;
    sectionSize: number;
    srcKey: string;
}>;
export default _default;
