/**
 * 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 strict-local
 */
import React from 'react';
import supportsDOM from '#internal/supportsDOM';
import useLayoutEffect from '#internal/useLayoutEffect';
import useStable from '#internal/useStable';
type AcceptTypes = $ReadOnlyArray<string>;
export type FileSelectConfig = $ReadOnly<{
  acceptMultiple?: boolean,
  acceptTypes?: AcceptTypes,
  onFilesChange: ($ReadOnlyArray<File>) => void,
  source?: 'environment' | 'user',
}>;
declare function createInput(): ?HTMLInputElement;
declare function clearInput(input: HTMLInputElement): any;
declare function processAcceptTypes(acceptTypes: AcceptTypes): string;
declare export function useFileSelect(config: FileSelectConfig): () => void;