/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow
 */
import type { CallbackRef } from '../../__types__';
import { useCallback } from 'react';
import { addEvent } from '#internal/addEvent';
import { useRefCallback } from '#internal/useRefCallback';
type FocusConfig = {
  disabled?: ?boolean,
  onBlur?: ?(e: any) => void,
  onBlurCapture?: ?(e: any) => void,
  onFocus?: ?(e: any) => void,
  onFocusCapture?: ?(e: any) => void,
  onFocusChange?: ?(isFocused: boolean, e: any) => void,
};
/**
 * useFocusEvents implementation
 */

const bubbleOptions = {
  passive: true
};
const captureOptions = {
  capture: true,
  passive: true
};
declare export function useFocus(config: FocusConfig): CallbackRef;