/**
 * ArrayKeys slice for maintaining stable UUID keys for array field items.
 *
 * This is critical for drag-and-drop reordering - without stable keys,
 * React would remount components on every reorder, causing focus loss.
 *
 * Scope can be:
 * - 'metadata': Page metadata arrays
 * - 'content': Content entry field arrays
 * - 'block-{id}': Block draft arrays (e.g., 'block-123')
 */
export type ArrayKeysState = {
    get: (scope: string, fieldPath: string) => string[] | undefined;
    set: (scope: string, fieldPath: string, keys: string[]) => void;
    append: (scope: string, fieldPath: string, key: string) => void;
    insert: (scope: string, fieldPath: string, index: number, key: string) => void;
    remove: (scope: string, fieldPath: string, index: number) => void;
    move: (scope: string, fieldPath: string, fromIndex: number, toIndex: number) => void;
    clear: (scope: string, fieldPath: string) => void;
};
/**
 * Creates the arrayKeys slice for managing stable array item keys.
 *
 * @param triggerUpdate - Callback to trigger React re-renders
 */
export declare function createArrayKeysSlice(triggerUpdate: () => void): ArrayKeysState;
