import React from "react";
/**
 * Theme configuration for the Masonry component
 */
export interface MasonryTheme {
    container: {
        base: string;
        loading: string;
    };
    item: {
        base: string;
    };
    animations: {
        transition: string;
        enter: string;
        exit: string;
    };
}
/**
 * Masonry theme overrides interface for customization
 */
export interface MasonryThemeOverrides {
    container?: Partial<MasonryTheme['container']>;
    item?: Partial<MasonryTheme['item']>;
    animations?: Partial<MasonryTheme['animations']>;
}
/**
 * Masonry component props
 */
export interface MasonryProps extends React.HTMLAttributes<HTMLDivElement> {
    /** Children elements to be arranged in masonry layout */
    children: React.ReactNode;
    /** Number of columns (static) or breakpoint configuration (responsive) */
    columns?: number | Record<number, number>;
    /** Gap between items in pixels */
    gap?: number;
    /** Gap configuration for different breakpoints */
    gapBreakpoints?: Record<number, number>;
    /** Minimum columns count */
    minColumns?: number;
    /** Maximum columns count */
    maxColumns?: number;
    /** Enable sequential placement (items placed in order vs optimal placement) */
    sequential?: boolean;
    /** Theme overrides for customizing appearance */
    themeOverrides?: MasonryThemeOverrides;
    /** Loading state */
    loading?: boolean;
}
