import * as react from 'react'; import react__default, { InputHTMLAttributes, ImgHTMLAttributes, VideoHTMLAttributes } from 'react'; import { TextFieldProps, SxProps, SvgIconProps } from '@mui/material'; import { SxProps as SxProps$1 } from '@mui/system'; interface Props { isOptional?: boolean; name: string; label: string; error?: string; multiple?: boolean; disabled?: boolean; files: FileData[]; onChange: (files: (FileData | File)[]) => void; inputProps?: InputHTMLAttributes; extraProps?: ExtraProps; onError?: (error: string) => void; size?: TextFieldProps["size"]; getLocalizedText?: (text: string, params?: Record) => string; } interface ExtraProps { maxFileSize: number; supportedFiles: SupportedFileTypes[]; uploadOptions: uploadOptionType[]; count?: boolean; onUploadFile?: (file: File, onUploadProgress: (progress: number) => void) => Promise; onDeleteFile?: (id: number) => Promise; onSubmit?: () => Promise; autoFocus?: boolean; } type SupportedFileTypes = "*" | "image/*" | "image/jpeg" | "image/png" | "image/gif" | "image/webp" | "video/*" | "video/mp4" | "video/webm" | "audio/*" | "audio/mpeg" | "audio/wav" | "application/pdf" | "application/msword" | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.ms-excel" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/vnd.ms-powerpoint" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "text/plain"; type uploadOptionType = "camera" | "gallery"; type UploadOption = Omit; interface ITabGroup { _key?: string; label: string; } type types_ITabGroup = ITabGroup; type types_Props = Props; type types_SupportedFileTypes = SupportedFileTypes; type types_UploadOption = UploadOption; type types_uploadOptionType = uploadOptionType; declare namespace types { export type { types_ITabGroup as ITabGroup, types_Props as Props, types_SupportedFileTypes as SupportedFileTypes, types_UploadOption as UploadOption, types_uploadOptionType as uploadOptionType }; } type type = "image" | "video" | "audio" | "document" | "pdf"; interface FileData { id?: number; url: string; type: string; name: string; size: number; path: string; file?: File; isFailed?: boolean; isPending?: boolean; } type media_FileData = FileData; type media_type = type; declare namespace media { export type { media_FileData as FileData, media_type as type }; } declare const FileUploader: ({ error, files, getLocalizedText, ...rest }: Props) => react.JSX.Element; declare const Audio: react__default.FC>; declare const AudioPlaceholder: ({ sx, containerSx, }: { sx?: SxProps; containerSx?: SxProps; }) => JSX.Element; declare const Image: ({ src, alt, width, height, containerStyle, style, ...rest }: ImgHTMLAttributes & { containerStyle?: Record; }) => react.JSX.Element; declare const Video: react__default.FC & { isPlaceholder?: boolean; iconProps?: SvgIconProps; }>; declare const Pdf: ({ data }: { data: FileData; }) => react.JSX.Element; declare const PdfPlaceholder: ({ sx, containerSx, }: { sx?: SxProps$1; containerSx?: SxProps$1; }) => react.JSX.Element; declare const Document: ({ data }: { data: FileData; }) => react.JSX.Element; declare const DocumentPlaceholder: ({ sx, containerSx, }: { sx?: SxProps; containerSx?: SxProps; }) => react.JSX.Element; declare const PreviewModal: ({ isOpen, onClose, data, currentIndex, }: { isOpen: boolean; onClose: () => void; sx?: SxProps; data: FileData[]; currentIndex: number; }) => react.JSX.Element; export { types as IFileUploader, media as IMedia, Audio as MuiAudio, AudioPlaceholder as MuiAudioPlaceholder, Document as MuiDocument, DocumentPlaceholder as MuiDocumentPlaceholder, FileUploader as MuiFileUploader, Image as MuiImage, Pdf as MuiPdf, PdfPlaceholder as MuiPdfPlaceholder, PreviewModal as MuiPreviewModal, Video as MuiVideo };