import { NonEmptyArray } from '@yeger/vue-masonry-wall-core';
import { VNode, VNodeProps, AllowedComponentProps, ComponentCustomProps, ShallowUnwrapRef } from 'vue';
export type KeyMapper<T> = (item: T, column: number, row: number, index: number) => string | number | symbol | undefined;
declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
        readonly onRedraw?: () => any;
        readonly onRedrawSkip?: () => any;
    } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onRedraw" | "onRedrawSkip"> & {
        columnWidth?: number | NonEmptyArray<number> | undefined;
        items: T[];
        gap?: number | undefined;
        rtl?: boolean | undefined;
        ssrColumns?: number | undefined;
        scrollContainer?: HTMLElement | null | undefined;
        minColumns?: number | undefined;
        maxColumns?: number | undefined;
        keyMapper?: KeyMapper<T> | undefined;
    } & Partial<{}>> & ( VNodeProps & AllowedComponentProps & ComponentCustomProps);
    expose(exposed: ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: Readonly<{
        default?: (props: {
            item: T;
            column: number;
            row: number;
            index: number;
        }) => VNode;
    }> & {
        default?: (props: {
            item: T;
            column: number;
            row: number;
            index: number;
        }) => VNode;
    };
    emit: {
        (event: "redraw"): void;
        (event: "redrawSkip"): void;
    };
}>) => VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
