import { default as React } from 'react';
declare const BREAKPOINTS: {
    sm: number;
    md: number;
    lg: number;
    xl: number;
    "2xl": number;
};
type BreakpointKey = keyof typeof BREAKPOINTS;
type ResponsiveCols = number | (Partial<Record<BreakpointKey, number>> & {
    default?: number;
});
export interface VirtualGridProps<T> {
    /** The large dataset to render */
    data: T[];
    /** Function to render individual items */
    renderItem: (item: T, index: number) => React.ReactNode;
    /** Fixed height of a row in pixels. Required for virtualization math. */
    itemHeight: number;
    /** Number of columns or object for responsive breakpoints */
    columns?: ResponsiveCols;
    /** Gap between items in pixels */
    gap?: number;
    /** Outer padding of the grid container in pixels */
    padding?: number;
    /** Extra items to render off-screen for smoother scrolling */
    overscan?: number;
    className?: string;
}
export declare const VirtualGrid: {
    <T>({ data, renderItem, itemHeight, columns, gap, padding, overscan, className, }: VirtualGridProps<T>): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export {};
