import type { RepeaterFieldConfig } from '../../../fields/types';
import type { RepeaterPresentationConfig } from '../utils';
import type { RepeaterLayoutGridCapacityContext } from '../components/RepeaterLayoutGrid';
type UseLayoutGridCapacityInput = {
    config: RepeaterFieldConfig;
    presentation: RepeaterPresentationConfig;
    isPolymorphic: boolean;
};
type UseLayoutGridCapacityResult = {
    onLayoutGridCapacityContextChange: (next: RepeaterLayoutGridCapacityContext) => void;
    canAppendLayoutGridDefaultItem: (itemType?: string) => boolean;
    getNextLayoutGridPlacement: (itemType?: string) => {
        row: number;
        colStart: number;
    } | null;
    polymorphicTypeCanAdd: Map<string, boolean>;
    layoutGridAddDisabled: boolean;
};
export declare function useLayoutGridCapacity({ config, presentation, isPolymorphic, }: UseLayoutGridCapacityInput): UseLayoutGridCapacityResult;
export {};
