import React from 'react'; import { IntlShape } from 'react-intl'; import FileUploadFactory from 'components/common/file-uploader/file-upload'; import LoadStorageMapFactory from './load-storage-map'; import ModalTabsFactory from './modal-tabs'; import { FileLoading } from 'reducers/vis-state-updaters'; export interface LoadingMethod { id: string; label: string; elementType: React.ComponentType; tabElementType?: React.ComponentType<{ onClick: React.MouseEventHandler; intl: IntlShape; }>; } type LoadDataModalProps = { onFileUpload: (files: File[]) => void; onLoadCloudMap: (provider: any, vis: any) => void; fileLoading: FileLoading | false; loadingMethods: LoadingMethod[]; /** A list of names of supported formats suitable to present to user */ fileFormatNames: string[]; /** A list of typically 3 letter extensions (without '.') for file matching */ fileExtensions: string[]; isCloudMapLoading: boolean; /** Set to true if app wants to do its own file filtering */ disableExtensionFilter?: boolean; }; export declare function LoadDataModalFactory(ModalTabs: ReturnType, FileUpload: ReturnType, LoadStorageMap: ReturnType): React.FC; export declare namespace LoadDataModalFactory { var deps: (typeof FileUploadFactory | typeof LoadStorageMapFactory | typeof ModalTabsFactory)[]; } export default LoadDataModalFactory;