export type UseTrackedRefStateRefState = { [K in keyof S]: { used: boolean; value: S[K]; }; }; export type UseTrackedRefStateReturns = readonly [ S, { updateRefState: (key: K, newValue: S[K], compare?: (prevData: S[K], nextData: S[K]) => boolean) => void; markKeyAsUsed: (key: K) => void; }, UseTrackedRefStateRefState ]; export declare function useTrackedRefState(refState: S): UseTrackedRefStateReturns;