{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "toolVersion": "7.7.1",
    "schemaVersion": 1003,
    "oldestForwardsCompatibleVersion": 1001
  },
  "kind": "Package",
  "canonicalReference": "@uifabric/react-hooks!",
  "docComment": "",
  "name": "@uifabric/react-hooks",
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "@uifabric/react-hooks!",
      "name": "",
      "members": [
        {
          "kind": "TypeAlias",
          "canonicalReference": "@uifabric/react-hooks!ChangeCallback:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type ChangeCallback<TElement extends "
            },
            {
              "kind": "Reference",
              "text": "HTMLElement",
              "canonicalReference": "!HTMLElement:interface"
            },
            {
              "kind": "Content",
              "text": ", TValue> = "
            },
            {
              "kind": "Content",
              "text": "(ev: "
            },
            {
              "kind": "Reference",
              "text": "React.FormEvent",
              "canonicalReference": "@types/react!~React.FormEvent:interface"
            },
            {
              "kind": "Content",
              "text": "<TElement> | undefined, newValue: TValue | undefined) => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "ChangeCallback",
          "typeParameters": [
            {
              "typeParameterName": "TElement",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "typeParameterName": "TValue",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 6
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "@uifabric/react-hooks!IUseBooleanCallbacks:interface",
          "docComment": "/**\n * Updater callbacks returned by `useBoolean`.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface IUseBooleanCallbacks "
            }
          ],
          "releaseTag": "Public",
          "name": "IUseBooleanCallbacks",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@uifabric/react-hooks!IUseBooleanCallbacks#setFalse:member",
              "docComment": "/**\n * Set the value to false. Always has the same identity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setFalse: "
                },
                {
                  "kind": "Content",
                  "text": "() => void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "setFalse",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@uifabric/react-hooks!IUseBooleanCallbacks#setTrue:member",
              "docComment": "/**\n * Set the value to true. Always has the same identity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setTrue: "
                },
                {
                  "kind": "Content",
                  "text": "() => void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "setTrue",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@uifabric/react-hooks!IUseBooleanCallbacks#toggle:member",
              "docComment": "/**\n * Toggle the value. Always has the same identity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "toggle: "
                },
                {
                  "kind": "Content",
                  "text": "() => void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "toggle",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "@uifabric/react-hooks!IWarningOptions:interface",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface IWarningOptions<P> "
            }
          ],
          "releaseTag": "Public",
          "typeParameters": [
            {
              "typeParameterName": "P",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "IWarningOptions",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@uifabric/react-hooks!IWarningOptions#conditionallyRequired:member",
              "docComment": "/**\n * Warns when props are required if a condition is met\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "conditionallyRequired?: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        requiredProps: string[];\n        conditionalPropName: string;\n        condition: boolean;\n    }[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "conditionallyRequired",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@uifabric/react-hooks!IWarningOptions#controlledUsage:member",
              "docComment": "/**\n * Check for and warn on the following error conditions with a form component: - A value prop is provided (indicated it's being used as controlled) without a change handler, and the component is not read-only - Both the value and defaultValue props are provided - The component is attempting to switch between controlled and uncontrolled\n *\n * The messages mimic the warnings React gives for these error conditions on input elements. The warning will only be displayed once per component instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "controlledUsage?: "
                },
                {
                  "kind": "Reference",
                  "text": "Pick",
                  "canonicalReference": "!Pick:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "IWarnControlledUsageParams",
                  "canonicalReference": "@uifabric/utilities!IWarnControlledUsageParams:interface"
                },
                {
                  "kind": "Content",
                  "text": "<P>, 'valueProp' | 'defaultValueProp' | 'onChangeProp' | 'readOnlyProp'>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "controlledUsage",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@uifabric/react-hooks!IWarningOptions#deprecations:member",
              "docComment": "/**\n * Warns when deprecated props are being used. Each key is a prop name and each value is either undefined or a replacement prop name.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "deprecations?: "
                },
                {
                  "kind": "Reference",
                  "text": "ISettingsMap",
                  "canonicalReference": "@uifabric/utilities!ISettingsMap:type"
                },
                {
                  "kind": "Content",
                  "text": "<P>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "deprecations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@uifabric/react-hooks!IWarningOptions#mutuallyExclusive:member",
              "docComment": "/**\n * Warns when two props which are mutually exclusive are both being used. The key is one prop name and the value is the other.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "mutuallyExclusive?: "
                },
                {
                  "kind": "Reference",
                  "text": "ISettingsMap",
                  "canonicalReference": "@uifabric/utilities!ISettingsMap:type"
                },
                {
                  "kind": "Content",
                  "text": "<P>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "mutuallyExclusive",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@uifabric/react-hooks!IWarningOptions#name:member",
              "docComment": "/**\n * Name of the component\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@uifabric/react-hooks!IWarningOptions#other:member",
              "docComment": "/**\n * Generic messages\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "other?: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "other",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@uifabric/react-hooks!IWarningOptions#props:member",
              "docComment": "/**\n * Current component props\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "props: "
                },
                {
                  "kind": "Content",
                  "text": "P"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "props",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@uifabric/react-hooks!RefCallback:type",
          "docComment": "/**\n * A callback ref function that also has a .current member for the ref's current value.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type RefCallback<T> = "
            },
            {
              "kind": "Content",
              "text": "((value: T | null) => void) & "
            },
            {
              "kind": "Reference",
              "text": "React.RefObject",
              "canonicalReference": "@types/react!~React.RefObject:interface"
            },
            {
              "kind": "Content",
              "text": "<T>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "RefCallback",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@uifabric/react-hooks!useAsync:function(1)",
          "docComment": "/**\n * Hook to provide an Async instance that is automatically cleaned up on dismount.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function useAsync(): "
            },
            {
              "kind": "Reference",
              "text": "Async",
              "canonicalReference": "@uifabric/utilities!Async:class"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [],
          "name": "useAsync"
        },
        {
          "kind": "Function",
          "canonicalReference": "@uifabric/react-hooks!useBoolean:function(1)",
          "docComment": "/**\n * Hook to store a value and generate callbacks for setting the value to true or false. The identity of the callbacks will always stay the same.\n *\n * @param initialState - Initial value\n *\n * @returns Array with the current value and an object containing the updater callbacks.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function useBoolean(initialState: "
            },
            {
              "kind": "Content",
              "text": "boolean"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "[boolean, "
            },
            {
              "kind": "Reference",
              "text": "IUseBooleanCallbacks",
              "canonicalReference": "@uifabric/react-hooks!IUseBooleanCallbacks:interface"
            },
            {
              "kind": "Content",
              "text": "]"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "initialState",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "name": "useBoolean"
        },
        {
          "kind": "Function",
          "canonicalReference": "@uifabric/react-hooks!useConst:function(1)",
          "docComment": "/**\n * Hook to initialize and return a constant value. Unlike `React.useMemo`, this is guaranteed to always return the same value (and if the initializer is a function, only call it once). This is similar to setting a private member in a class constructor.\n *\n * If the value should ever change based on dependencies, use `React.useMemo` instead.\n *\n * If the value itself is a function, consider using `useConstCallback` instead.\n *\n * @param initialValue - Initial value, or function to get the initial value. Similar to `useState`, only the value/function passed in the first time this is called is respected.\n *\n * @returns The value. The identity of this value will always be the same.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function useConst<T>(initialValue: "
            },
            {
              "kind": "Content",
              "text": "T | (() => T)"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 4
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "initialValue",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "useConst"
        },
        {
          "kind": "Function",
          "canonicalReference": "@uifabric/react-hooks!useConstCallback:function(1)",
          "docComment": "/**\n * Hook to ensure a callback function always has the same identity. Unlike `React.useCallback`, this is guaranteed to always return the same value.\n *\n * If the callback should ever change based on dependencies, use `React.useCallback` instead.\n *\n * @param callback - The callback. Only the first value passed is respected.\n *\n * @returns The callback. The identity of this callback will always be the same.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function useConstCallback<T extends "
            },
            {
              "kind": "Content",
              "text": "(...args: any[]) => any"
            },
            {
              "kind": "Content",
              "text": ">(callback: "
            },
            {
              "kind": "Content",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 5,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "callback",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "useConstCallback"
        },
        {
          "kind": "Function",
          "canonicalReference": "@uifabric/react-hooks!useControllableValue:function(1)",
          "docComment": "/**\n * Hook to manage a value that could be either controlled or uncontrolled, such as a checked state or text box string.\n *\n * @param controlledValue - The controlled value passed in the props. This value will always be used if provided, and the internal state will be updated to reflect it.\n *\n * @param defaultUncontrolledValue - Initial value for the internal state in the uncontrolled case.\n *\n * @returns An array of the current value and an updater callback. Like `React.useState`, the updater callback always has the same identity, and it can take either a new value, or a function which is passed the previous value and returns the new value.  @see https://reactjs.org/docs/uncontrolled-components.html\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function useControllableValue<TValue, TElement extends "
            },
            {
              "kind": "Reference",
              "text": "HTMLElement",
              "canonicalReference": "!HTMLElement:interface"
            },
            {
              "kind": "Content",
              "text": ">(controlledValue: "
            },
            {
              "kind": "Content",
              "text": "TValue | undefined"
            },
            {
              "kind": "Content",
              "text": ", defaultUncontrolledValue: "
            },
            {
              "kind": "Content",
              "text": "TValue | undefined"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Readonly",
              "canonicalReference": "!Readonly:type"
            },
            {
              "kind": "Content",
              "text": "<[TValue | undefined, (update: "
            },
            {
              "kind": "Reference",
              "text": "React.SetStateAction",
              "canonicalReference": "@types/react!~React.SetStateAction:type"
            },
            {
              "kind": "Content",
              "text": "<TValue | undefined>) => void]>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 7,
            "endIndex": 11
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "controlledValue",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            },
            {
              "parameterName": "defaultUncontrolledValue",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "TValue",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "typeParameterName": "TElement",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "useControllableValue"
        },
        {
          "kind": "Function",
          "canonicalReference": "@uifabric/react-hooks!useControllableValue:function(2)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function useControllableValue<TValue, TElement extends "
            },
            {
              "kind": "Reference",
              "text": "HTMLElement",
              "canonicalReference": "!HTMLElement:interface"
            },
            {
              "kind": "Content",
              "text": ", TCallback extends "
            },
            {
              "kind": "Reference",
              "text": "ChangeCallback",
              "canonicalReference": "@uifabric/react-hooks!ChangeCallback:type"
            },
            {
              "kind": "Content",
              "text": "<TElement, TValue> | undefined"
            },
            {
              "kind": "Content",
              "text": ">(controlledValue: "
            },
            {
              "kind": "Content",
              "text": "TValue | undefined"
            },
            {
              "kind": "Content",
              "text": ", defaultUncontrolledValue: "
            },
            {
              "kind": "Content",
              "text": "TValue | undefined"
            },
            {
              "kind": "Content",
              "text": ", onChange: "
            },
            {
              "kind": "Content",
              "text": "TCallback"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Readonly",
              "canonicalReference": "!Readonly:type"
            },
            {
              "kind": "Content",
              "text": "<[TValue | undefined, (update: "
            },
            {
              "kind": "Reference",
              "text": "React.SetStateAction",
              "canonicalReference": "@types/react!~React.SetStateAction:type"
            },
            {
              "kind": "Content",
              "text": "<TValue | undefined>, ev?: "
            },
            {
              "kind": "Reference",
              "text": "React.FormEvent",
              "canonicalReference": "@types/react!~React.FormEvent:interface"
            },
            {
              "kind": "Content",
              "text": "<TElement>) => void]>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 12,
            "endIndex": 18
          },
          "releaseTag": "Public",
          "overloadIndex": 2,
          "parameters": [
            {
              "parameterName": "controlledValue",
              "parameterTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              }
            },
            {
              "parameterName": "defaultUncontrolledValue",
              "parameterTypeTokenRange": {
                "startIndex": 8,
                "endIndex": 9
              }
            },
            {
              "parameterName": "onChange",
              "parameterTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 11
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "TValue",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "typeParameterName": "TElement",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "typeParameterName": "TCallback",
              "constraintTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "useControllableValue"
        },
        {
          "kind": "Function",
          "canonicalReference": "@uifabric/react-hooks!useForceUpdate:function(1)",
          "docComment": "/**\n * Hook to force update a function component by updating a dummy state.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function useForceUpdate(): "
            },
            {
              "kind": "Content",
              "text": "() => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [],
          "name": "useForceUpdate"
        },
        {
          "kind": "Function",
          "canonicalReference": "@uifabric/react-hooks!useId:function(1)",
          "docComment": "/**\n * Hook to generate a unique ID in the global scope (spanning across duplicate copies of the same library).\n *\n * @param prefix - Optional prefix for the ID\n *\n * @param providedId - Optional id provided by a parent component. Defaults to the provided value if present, without conditioning the hook call\n *\n * @returns The ID\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function useId(prefix?: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", providedId?: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 5,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "prefix",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "providedId",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "name": "useId"
        },
        {
          "kind": "Function",
          "canonicalReference": "@uifabric/react-hooks!useMergedRefs:function(1)",
          "docComment": "/**\n * React hook to merge multiple React refs (either MutableRefObjects or ref callbacks) into a single ref callback that updates all provided refs\n *\n * @param refs - Refs to collectively update with one ref value.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function useMergedRefs<T>(...refs: "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "Ref",
              "canonicalReference": "@types/react!~React.Ref:type"
            },
            {
              "kind": "Content",
              "text": "<T> | undefined)[]"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "(instance: T) => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 5,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "refs",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "useMergedRefs"
        },
        {
          "kind": "Function",
          "canonicalReference": "@uifabric/react-hooks!useOnEvent:function(1)",
          "docComment": "/**\n * Hook to attach an event handler on mount and handle cleanup.\n *\n * @param element - Element (or ref to an element) to attach the event handler to\n *\n * @param eventName - The event to attach a handler for\n *\n * @param callback - The handler for the event\n *\n * @param useCapture - Whether or not to attach the handler for the capture phase\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function useOnEvent<TElement extends "
            },
            {
              "kind": "Reference",
              "text": "Element",
              "canonicalReference": "!Element:interface"
            },
            {
              "kind": "Content",
              "text": ", TEvent extends "
            },
            {
              "kind": "Reference",
              "text": "Event",
              "canonicalReference": "!Event:interface"
            },
            {
              "kind": "Content",
              "text": ">(element: "
            },
            {
              "kind": "Reference",
              "text": "React.RefObject",
              "canonicalReference": "@types/react!~React.RefObject:interface"
            },
            {
              "kind": "Content",
              "text": "<TElement | undefined | null> | TElement | "
            },
            {
              "kind": "Reference",
              "text": "Window",
              "canonicalReference": "!Window:interface"
            },
            {
              "kind": "Content",
              "text": " | undefined | null"
            },
            {
              "kind": "Content",
              "text": ", eventName: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", callback: "
            },
            {
              "kind": "Content",
              "text": "(ev: TEvent) => void"
            },
            {
              "kind": "Content",
              "text": ", useCapture?: "
            },
            {
              "kind": "Content",
              "text": "boolean"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 16,
            "endIndex": 17
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "element",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 9
              }
            },
            {
              "parameterName": "eventName",
              "parameterTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 11
              }
            },
            {
              "parameterName": "callback",
              "parameterTypeTokenRange": {
                "startIndex": 12,
                "endIndex": 13
              }
            },
            {
              "parameterName": "useCapture",
              "parameterTypeTokenRange": {
                "startIndex": 14,
                "endIndex": 15
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "TElement",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "typeParameterName": "TEvent",
              "constraintTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "useOnEvent"
        },
        {
          "kind": "Function",
          "canonicalReference": "@uifabric/react-hooks!usePrevious:function(1)",
          "docComment": "/**\n * Hook keeping track of a given value from a previous execution of the component the Hook is used in.\n *\n * See [React Hooks FAQ](https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state)\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function usePrevious<T>(value: "
            },
            {
              "kind": "Content",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "T | undefined"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 4
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "value",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "usePrevious"
        },
        {
          "kind": "Function",
          "canonicalReference": "@uifabric/react-hooks!useRefEffect:function(1)",
          "docComment": "/**\n * Creates a ref, and calls a callback whenever the ref changes to a non-null value. The callback can optionally return a cleanup function that'll be called before the value changes, and when the ref is unmounted.\n *\n * This can be used to work around a limitation that useEffect cannot depend on `ref.current` (see https://github.com/facebook/react/issues/14387#issuecomment-503616820).\n *\n * Usage example:\n * ```ts\n * const myRef = useRefEffect<HTMLElement>(element => {\n *  ...\n *  return () => { ... cleanup ... };\n * });\n * ```\n *\n * ```jsx\n * <div ref={myRef} />\n * ```\n *\n * @param callback - Called whenever the ref's value changes to non-null. Can optionally return a cleanup function.\n *\n * @param initial - (Optional) The initial value for the ref.\n *\n * @returns A function that should be called to set the ref's value. The object also has a `.current` member that can be used to access the ref's value (like a normal RefObject). It can be hooked up to an element's `ref` property.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function useRefEffect<T>(callback: "
            },
            {
              "kind": "Content",
              "text": "(value: T) => (() => void) | void"
            },
            {
              "kind": "Content",
              "text": ", initial?: "
            },
            {
              "kind": "Content",
              "text": "T | null"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "RefCallback",
              "canonicalReference": "@uifabric/react-hooks!RefCallback:type"
            },
            {
              "kind": "Content",
              "text": "<T>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 5,
            "endIndex": 7
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "callback",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "initial",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "useRefEffect"
        },
        {
          "kind": "Variable",
          "canonicalReference": "@uifabric/react-hooks!useSetInterval:var",
          "docComment": "/**\n * Returns a wrapper function for `setInterval` which automatically handles disposal.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "useSetInterval: "
            },
            {
              "kind": "Content",
              "text": "() => "
            },
            {
              "kind": "Reference",
              "text": "UseSetIntervalReturnType",
              "canonicalReference": "@uifabric/react-hooks!UseSetIntervalReturnType:type"
            }
          ],
          "releaseTag": "Public",
          "name": "useSetInterval",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@uifabric/react-hooks!UseSetIntervalReturnType:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type UseSetIntervalReturnType = "
            },
            {
              "kind": "Content",
              "text": "{\n    setInterval: (callback: () => void, duration: number) => number;\n    clearInterval: (id: number) => void;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "UseSetIntervalReturnType",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Variable",
          "canonicalReference": "@uifabric/react-hooks!useSetTimeout:var",
          "docComment": "/**\n * Returns a wrapper function for `setTimeout` which automatically handles disposal.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "useSetTimeout: "
            },
            {
              "kind": "Content",
              "text": "() => "
            },
            {
              "kind": "Reference",
              "text": "UseSetTimeoutReturnType",
              "canonicalReference": "@uifabric/react-hooks!UseSetTimeoutReturnType:type"
            }
          ],
          "releaseTag": "Public",
          "name": "useSetTimeout",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@uifabric/react-hooks!UseSetTimeoutReturnType:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type UseSetTimeoutReturnType = "
            },
            {
              "kind": "Content",
              "text": "{\n    setTimeout: (callback: () => void, duration: number) => number;\n    clearTimeout: (id: number) => void;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "UseSetTimeoutReturnType",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@uifabric/react-hooks!useWarnings:function(1)",
          "docComment": "/**\n * Only in development mode, display console warnings when certain conditions are met. Note that all warnings except `controlledUsage` will only be shown on first render (new `controlledUsage` warnings may be shown later due to prop changes).\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function useWarnings<P>(options: "
            },
            {
              "kind": "Reference",
              "text": "IWarningOptions",
              "canonicalReference": "@uifabric/react-hooks!IWarningOptions:interface"
            },
            {
              "kind": "Content",
              "text": "<P>"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 4,
            "endIndex": 5
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "options",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "P",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "useWarnings"
        }
      ]
    }
  ]
}
