local U=require(script.Utility.GetDependencies)local G=require(script.useAsync)local F=require(script.useClickOutside)local u=require(script.useCurrentCamera)local t=require(script.useDelayedValue)local N=require(script.useExternalEvent)local C=require(script.useForceUpdate)local D=require(script.useId)local m=require(script.useMemoWithCleanup)local S=require(script.usePrevious)local O=require(script.useRainbowColorSequence)local n=require(script.useRendersSpy)local P=require(script.useScale)local g=require(script.useShallowEffect)local z=require(script.useStrokeScale)local c=require(script.useSyncExternalStore)local Q=require(script.useSyncExternalStoreWithSelector)local A=require(script.useTheme)local b=require(script.useUncontrolled)local B=require(script.useViewportSize)local p=require(script.useWhyDidYouUpdate)local a={GetDependencies=U;useAsync=G,useClickOutside=F,useCurrentCamera=u;useDelayedValue=t;useExternalEvent=N;useForceUpdate=C,useId=D;useMemoWithCleanup=m;usePrevious=S,useRainbowColorSequence=O;useRendersSpy=n;useScale=P,useShallowEffect=g,useStrokeScale=z,useSyncExternalStore=c;useSyncExternalStoreWithSelector=Q,useTheme=A;useUncontrolled=b,useViewportSize=B;useWhyDidYouUpdate=p}table.freeze(a)return a
--!optimize 2
--!strict

local GetDependencies = require(script.Utility.GetDependencies)

local useAsync = require(script.useAsync)
local useClickOutside = require(script.useClickOutside)
local useCurrentCamera = require(script.useCurrentCamera)
local useDelayedValue = require(script.useDelayedValue)
local useExternalEvent = require(script.useExternalEvent)
local useForceUpdate = require(script.useForceUpdate)
local useId = require(script.useId)
local useMemoWithCleanup = require(script.useMemoWithCleanup)
local usePrevious = require(script.usePrevious)
local useRainbowColorSequence = require(script.useRainbowColorSequence)
local useRendersSpy = require(script.useRendersSpy)
local useScale = require(script.useScale)
local useShallowEffect = require(script.useShallowEffect)
local useStrokeScale = require(script.useStrokeScale)
local useSyncExternalStore = require(script.useSyncExternalStore)
local useSyncExternalStoreWithSelector = require(script.useSyncExternalStoreWithSelector)
local useTheme = require(script.useTheme)
local useUncontrolled = require(script.useUncontrolled)
local useViewportSize = require(script.useViewportSize)
local useWhyDidYouUpdate = require(script.useWhyDidYouUpdate)

--[=[
	The extra types for the hooks.
	@class Types
]=]

--[=[
	A collection of hooks made for React.
	@class Hooks
]=]
local Hooks = {
	GetDependencies = GetDependencies,

	useAsync = useAsync,
	useClickOutside = useClickOutside,
	useCurrentCamera = useCurrentCamera,
	useDelayedValue = useDelayedValue,
	useExternalEvent = useExternalEvent,
	useForceUpdate = useForceUpdate,
	useId = useId,
	useMemoWithCleanup = useMemoWithCleanup,
	usePrevious = usePrevious,
	useRainbowColorSequence = useRainbowColorSequence,
	useRendersSpy = useRendersSpy,
	useScale = useScale,
	useShallowEffect = useShallowEffect,
	useStrokeScale = useStrokeScale,
	useSyncExternalStore = useSyncExternalStore,
	useSyncExternalStoreWithSelector = useSyncExternalStoreWithSelector,
	useTheme = useTheme,
	useUncontrolled = useUncontrolled,
	useViewportSize = useViewportSize,
	useWhyDidYouUpdate = useWhyDidYouUpdate,
}

table.freeze(Hooks)
return Hooks
