import { type ReactNode } from 'react';
import { type RepeaterGridItemInput } from '../../../../../blocks/src/index';
import type { RepeaterFieldConfig, FieldConfig } from '../../../fields/types';
import type { FormBackend } from '../../../backend/types';
import type { RepeaterPresentationConfig } from '../utils';
export interface RepeaterLayoutGridProps {
    config: RepeaterFieldConfig;
    backend: FormBackend;
    basePath: string;
    items: Array<{
        id: string;
    }>;
    minItems: number;
    onMove: (from: number, to: number) => void;
    onRemove: (index: number) => void;
    renderChild: (field: FieldConfig, path: string) => ReactNode;
    presentation: Extract<RepeaterPresentationConfig, {
        mode: 'layoutGrid';
    }>;
    onCapacityContextChange?: (context: RepeaterLayoutGridCapacityContext) => void;
}
export interface RepeaterLayoutGridCapacityContext {
    items: RepeaterGridItemInput[];
    columns: number;
    maxRows?: number;
}
export declare function RepeaterLayoutGrid({ config, backend, basePath, items, minItems, onMove, onRemove, renderChild, presentation, onCapacityContextChange, }: RepeaterLayoutGridProps): ReactNode;
