import type { RepeaterFieldConfig } from '../../../fields/types';
import type { RepeaterLayoutGridCapacityContext } from '../components/RepeaterLayoutGrid';
import type { RepeaterPresentationConfig } from '../utils';
export type LayoutGridAddBlockedReason = 'missing-capacity-context' | 'invalid-span' | 'max-rows-reached';
export type LayoutGridAddDecision = {
    canAdd: true;
    nextPlacement: {
        row: number;
        colStart: number;
    };
} | {
    canAdd: false;
    reason: LayoutGridAddBlockedReason;
};
type ResolveLayoutGridAddDecisionInput = {
    config: RepeaterFieldConfig;
    presentation: RepeaterPresentationConfig;
    layoutGridCapacityContext: RepeaterLayoutGridCapacityContext | null;
    itemType?: string;
};
export declare function resolveLayoutGridAddDecision({ config, presentation, layoutGridCapacityContext, itemType, }: ResolveLayoutGridAddDecisionInput): LayoutGridAddDecision;
export {};
