## API Report File for "@fluentui/react-hooks" > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts import { Async } from '@fluentui/utilities'; import type { ISettingsMap } from '@fluentui/utilities'; import type { IWarnControlledUsageParams } from '@fluentui/utilities'; import type { Point } from '@fluentui/utilities'; import * as React_2 from 'react'; import { Rectangle } from '@fluentui/utilities'; import { useIsomorphicLayoutEffect } from '@fluentui/utilities'; // @public (undocumented) export type ChangeCallback | undefined> = (ev: TEvent, newValue: TValue | undefined) => void; // @public export interface IUseBooleanCallbacks { setFalse: () => void; setTrue: () => void; toggle: () => void; } // @public (undocumented) export interface IWarningOptions

{ conditionallyRequired?: { requiredProps: string[]; conditionalPropName: string; condition: boolean; }[]; controlledUsage?: Pick, 'valueProp' | 'defaultValueProp' | 'onChangeProp' | 'readOnlyProp'>; deprecations?: ISettingsMap

; mutuallyExclusive?: ISettingsMap

; name: string; other?: string[]; props: P; } // @public export type RefCallback = ((value: T | null) => void) & React_2.RefObject; // @public export type RefObjectFunction = React_2.RefObject & ((value: T) => void); // @public (undocumented) export type Target = Element | string | MouseEvent | Point | Rectangle | null | React_2.RefObject; // @public export function useAsync(): Async; // @public export function useBoolean(initialState: boolean): [boolean, IUseBooleanCallbacks]; // @public export function useConst(initialValue: T | (() => T)): T; // @public @deprecated (undocumented) export function useConstCallback any>(callback: T): T; // @public export function useControllableValue(controlledValue: TValue | undefined, defaultUncontrolledValue: TValue | undefined): Readonly<[TValue | undefined, (update: React_2.SetStateAction) => void]>; // @public (undocumented) export function useControllableValue | undefined>(controlledValue: TValue | undefined, defaultUncontrolledValue: TValue | undefined, onChange: ChangeCallback | undefined): Readonly<[ TValue | undefined, (update: React_2.SetStateAction, ev?: React_2.FormEvent) => void ]>; // @public export function useEventCallback(fn: (...args: Args) => Return): (...args: Args) => Return; // @public export function useForceUpdate(): () => void; // @public export function useId(prefix?: string, providedId?: string): string; export { useIsomorphicLayoutEffect } // @public export function useMergedRefs(...refs: (React_2.Ref | undefined)[]): RefObjectFunction; // @public export const useMount: (callback: () => void) => void; // @public @deprecated export const useMountSync: (callback: () => void) => void; // @public export function useOnEvent(element: React_2.RefObject | TElement | Window | Document | undefined | null, eventName: string, callback: (ev: TEvent) => void, useCapture?: boolean): void; // @public export function usePrevious(value: T): T | undefined; // @public export function useRefEffect(callback: (value: T) => (() => void) | void, initial?: T | null): RefCallback; // @public export const useSetInterval: () => UseSetIntervalReturnType; // @public (undocumented) export type UseSetIntervalReturnType = { setInterval: (callback: () => void, duration: number) => number; clearInterval: (id: number) => void; }; // @public export const useSetTimeout: () => UseSetTimeoutReturnType; // @public (undocumented) export type UseSetTimeoutReturnType = { setTimeout: (callback: () => void, duration: number) => number; clearTimeout: (id: number) => void; }; // @public export function useTarget(target: Target | undefined, hostElement?: React_2.RefObject): Readonly<[React_2.RefObject, Window | undefined]>; // @public export const useUnmount: (callback: () => void) => void; // @public export function useWarnings

(options: IWarningOptions

): void; // (No @packageDocumentation comment for this package) ```