import type { FormBackend } from '../adapter';
/**
 * Item with stable React key for repeater rendering
 */
export type RepeaterItem = {
    /** Stable ID for React keys and drag-drop */
    id: string;
    /** Item data */
    data: unknown;
};
/**
 * Array operations interface for repeater widgets
 */
export type RepeaterBackendOps = {
    /** Array items with stable keys */
    items: RepeaterItem[];
    /** Append item to array */
    append: (value: unknown) => void;
    /** Remove item at index */
    remove: (index: number) => void;
    /** Move item from one index to another */
    move: (from: number, to: number) => void;
    /** Insert item at index */
    insert: (index: number, value: unknown) => void;
};
/**
 * Hook to get repeater operations from a backend.
 * Provides stable keys for React rendering and drag-drop.
 *
 * Uses backend's unified interface throughout - no branching on backend.type.
 * For RHF backends, uses react-hook-form's optimized useFieldArray hook.
 * For other backends, uses useSyncExternalStore with the backend's subscribe/getValue.
 */
export declare function useRepeaterBackend(backend: FormBackend, path: string): RepeaterBackendOps;
