import type { DefineComponent, PropType, Ref, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps } from 'vue';
import type { WaterfallType, WaterfallRowType as rt } from './interface';
interface target {
    clientHeight: number;
    scrollTop: number;
    scrollHeight: number;
}
interface dom {
    target: target;
}
declare const _sfc_main: DefineComponent<{
    readonly list: {
        readonly type: PropType<rt[]>;
        readonly default: () => [];
    };
    readonly type: {
        readonly type: PropType<WaterfallType>;
        readonly default: () => string;
    };
    readonly cols: {
        readonly type: NumberConstructor;
        readonly default: () => number;
    };
    readonly minWidth: {
        readonly type: NumberConstructor;
        readonly default: () => number;
    };
    readonly rowGap: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly colGap: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
}, {
    prop: Readonly<{
        type: WaterfallType;
        rowGap: string;
        "onScroll-end": (() => any) | undefined;
        list: rt[];
        cols: number;
        minWidth: number;
        colGap: string;
    }>;
    cols: number;
    emit: (event: "scroll-end") => void;
    waterfall: Ref<any>;
    data: rt[];
    containerHeight: Ref<string>;
    uuid: () => string;
    columns: Ref<number>;
    colWidth: Ref<string>;
    preload: (data: rt[]) => Promise<unknown[]>;
    init: (load?: boolean) => void;
    times: null;
    handleResize: () => void;
    handleScroll: (e: dom) => void;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    readonly 'scroll-end': () => void | null;
}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<{
    readonly list?: unknown;
    readonly type?: unknown;
    readonly cols?: unknown;
    readonly minWidth?: unknown;
    readonly rowGap?: unknown;
    readonly colGap?: unknown;
} & {
    type: WaterfallType;
    rowGap: string;
    list: rt[];
    cols: number;
    minWidth: number;
    colGap: string;
} & {}> & {
    "onScroll-end"?: (() => any) | undefined;
}, {
    type: WaterfallType;
    rowGap: string;
    list: rt[];
    cols: number;
    minWidth: number;
    colGap: string;
}>;
export default _sfc_main;
