type Add = (...args: Parameters["add"]>) => void; type Delete = (...args: Parameters["delete"]>) => void; export type UseSetStateControls = { add: Add; delete: Delete; clear: () => void; }; export type UseSetStateReturnValue = [Set, UseSetStateControls]; /** * useSetState * @description Manage the state of a Set in React. * @param {Set} initialSetValue The initial value of the set to manage. * @returns {UseSetStateReturnValue} The state of the Set and the controls. * @see {@link https://rooks.vercel.app/docs/hooks/useSetState} * @example * import { useSetState } from "../hooks/useSetState"; * const [set, setControls] = useSetState(new Set()); * setControls.add(1); // {1} * setControls.add(2); // {1, 2} * setControls.delete(1); // {2} * setControls.clear(); // {} * */ declare function useSetState(initialSetValue: Set): UseSetStateReturnValue; export { useSetState };