import { type ExtractPropTypes, type CSSProperties, type PropType } from 'vue';
import { type MasonryItemType } from './MasonryItem';
import { type Breakpoint } from '../_util/responsiveObserve';
import type { CustomSlotsType, Key } from '../_util/type';
export declare const masonryProps: () => {
    prefixCls: StringConstructor;
    className: StringConstructor;
    rootClassName: StringConstructor;
    style: PropType<CSSProperties>;
    gutter: {
        type: PropType<number | Partial<Record<Breakpoint, number>> | [import("../grid/Row").Gutter, import("../grid/Row").Gutter]>;
        default: PropType<number | Partial<Record<Breakpoint, number>> | [import("../grid/Row").Gutter, import("../grid/Row").Gutter]>;
    };
    items: PropType<MasonryItemType<any>[]>;
    itemRender: PropType<(options: {
        itemInfo: MasonryItemType & {
            index: number;
        };
    }) => any>;
    /** Number of columns in the masonry grid layout */
    columns: {
        type: PropType<number | Partial<Record<Breakpoint, number>>>;
        default: number | Partial<Record<Breakpoint, number>>;
    };
    /** Trigger when item layout order changed */
    onLayoutChange: PropType<(sortInfo: {
        key: Key;
        column: number;
    }[]) => void>;
    fresh: BooleanConstructor;
};
export type MasonryProps = Partial<ExtractPropTypes<ReturnType<typeof masonryProps>>>;
declare const Masonry: import("vue").DefineComponent<ExtractPropTypes<{
    prefixCls: StringConstructor;
    className: StringConstructor;
    rootClassName: StringConstructor;
    style: PropType<CSSProperties>;
    gutter: {
        type: PropType<number | Partial<Record<Breakpoint, number>> | [import("../grid/Row").Gutter, import("../grid/Row").Gutter]>;
        default: PropType<number | Partial<Record<Breakpoint, number>> | [import("../grid/Row").Gutter, import("../grid/Row").Gutter]>;
    };
    items: PropType<MasonryItemType<any>[]>;
    itemRender: PropType<(options: {
        itemInfo: MasonryItemType & {
            index: number;
        };
    }) => any>;
    /** Number of columns in the masonry grid layout */
    columns: {
        type: PropType<number | Partial<Record<Breakpoint, number>>>;
        default: number | Partial<Record<Breakpoint, number>>;
    };
    /** Trigger when item layout order changed */
    onLayoutChange: PropType<(sortInfo: {
        key: Key;
        column: number;
    }[]) => void>;
    fresh: BooleanConstructor;
}>, () => import("../_util/type").VueNode, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ExtractPropTypes<{
    prefixCls: StringConstructor;
    className: StringConstructor;
    rootClassName: StringConstructor;
    style: PropType<CSSProperties>;
    gutter: {
        type: PropType<number | Partial<Record<Breakpoint, number>> | [import("../grid/Row").Gutter, import("../grid/Row").Gutter]>;
        default: PropType<number | Partial<Record<Breakpoint, number>> | [import("../grid/Row").Gutter, import("../grid/Row").Gutter]>;
    };
    items: PropType<MasonryItemType<any>[]>;
    itemRender: PropType<(options: {
        itemInfo: MasonryItemType & {
            index: number;
        };
    }) => any>;
    /** Number of columns in the masonry grid layout */
    columns: {
        type: PropType<number | Partial<Record<Breakpoint, number>>>;
        default: number | Partial<Record<Breakpoint, number>>;
    };
    /** Trigger when item layout order changed */
    onLayoutChange: PropType<(sortInfo: {
        key: Key;
        column: number;
    }[]) => void>;
    fresh: BooleanConstructor;
}>> & Readonly<{}>, {
    columns: number | Partial<Record<Breakpoint, number>>;
    gutter: number | Partial<Record<Breakpoint, number>> | [import("../grid/Row").Gutter, import("../grid/Row").Gutter] | (new (...args: any[]) => number | Partial<Record<Breakpoint, number>> | [import("../grid/Row").Gutter, import("../grid/Row").Gutter]) | ((new (...args: any[]) => number | Partial<Record<Breakpoint, number>> | [import("../grid/Row").Gutter, import("../grid/Row").Gutter]) | (() => number | Partial<Record<Breakpoint, number>> | [import("../grid/Row").Gutter, import("../grid/Row").Gutter]))[];
    fresh: boolean;
}, CustomSlotsType<{
    itemRender: (options: {
        itemInfo: MasonryItemType & {
            index: number;
        };
    }) => any;
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default Masonry;
