import { ReactiveChange } from "./reactive-plugin";
/**
 * Generates change descriptions for adding a value to a Set.
 *
 * @param set The reactive set proxy.
 * @param nextValue The value being added. This is the original value provided by the user.
 * @returns An array of ReactiveChange objects.
 */
export declare const getSetAddChanges: (set: Set<unknown>, nextValue: unknown) => ReactiveChange[] | null;
/**
 * Generates change descriptions for deleting a value from a Set.
 *
 * @param set The reactive set proxy.
 * @param previousValue The value being deleted. This is the original value provided by the user.
 * @returns An array of ReactiveChange objects.
 */
export declare const getSetDeleteChanges: (set: Set<unknown>, previousValue: unknown) => ReactiveChange[] | null;
/**
 * Generates change descriptions for clearing a Set.
 *
 * @param set The reactive set proxy.
 * @param previousValues An array of all values (potentially reactive proxies) that were in the set before clearing.
 * @returns An array of ReactiveChange objects, or null if the set was already empty.
 */
export declare const getSetClearChanges: (set: Set<unknown>, previousValues: unknown[]) => ReactiveChange[] | null;
