/** Difference from useForageSortedArray * - lets you edit the keys, while SortedArray keys stay the same after initial set * - key doesn't have to be a string (main difference) * */ export type UniqueIdentifier = string | number; export default function useForageIdArray(key: string, isValid: (x: unknown) => x is T, isValidKey?: (x: unknown) => boolean, defaultValue?: T, keyBy?: (x: K) => string): { isLoading: boolean; item: { key: K; value: T; }[]; setValue: (id: any, value: T | (T & Function)) => Promise; setKey: (id: any, key: K) => Promise; addKey: (value: K) => Promise; removeKey: (id: any) => Promise; add: (id: K, value: T) => Promise; clear: () => Promise; init: () => Promise; };