import { AnyRef, MobileInputFile } from '@codeleap/types' import { Options } from 'react-native-image-crop-picker' import { AlertOptions } from '@codeleap/portals' export type FileInputImageSource = 'camera' | 'library' | 'fs' export type FileResult = MobileInputFile | string | number export type FileInputRef = { openFilePicker: (source?: FileInputImageSource, options?: Partial) => Promise } export type FileInputProps = { mode: 'hidden' | 'button' onFileSelect?: (files: FileResult[]) => void ref?: AnyRef type?: 'image' | 'anyFile' alertProps?: AlertOptions & {} pickerOptions?: Partial required?: boolean onOpenFileSystem?: (resolve: (() => void)) => Promise onOpenGallery?: (resolve: (() => void)) => Promise }