import * as React from 'react'; import { BucketType, UploadPurpose } from '.'; import { FormItem, IFormItemProps } from './common/FomItem'; declare type FileType = 'image' | 'pdf'; export interface IEmbeddedFile { fileStatus: 'pending-choose-file' | 'file-chosen' | 'file-uploaded'; fileValue: string; fileUUID: string; pendingUploadFileSize: number; fileExtension: string; fileName: string; uploadedAtUnix: number; } export interface IEmbedFileUploaderProps extends Omit { title: React.ReactNode; mobileTitle: React.ReactNode; uploadedTitle: React.ReactNode; value: string | undefined | null; bucketType: BucketType; uploadPurpose?: UploadPurpose; sidOrUidOrAccountId?: string; acceptedFileTypes: FileType[]; noImagePlaceholder: string | React.ReactNode; maximumFiles: number; breakpoint: number; allowDownloadPdf: boolean; onFileChanged: (files: Array) => void; onProgressChanged: (progress: number) => void; onTooManyFileChosen?: () => void; } export interface IEmbedFileUploaderState { files: Array; isCurrentlyDraggedOver: boolean; selectedFile?: IEmbeddedFile; } export declare class EmbedFileUploader extends FormItem { private inputRef; static defaultProps: { title: string; mobileTitle: string; uploadedTitle: string; acceptedFileTypes: string[]; noImagePlaceholder: undefined; onFileChanged: () => undefined; onProgressChanged: () => undefined; breakpoint: number; allowDownloadPdf: boolean; name: undefined; value: undefined; error: undefined; oldValue: undefined; comparing: boolean; required: boolean; disabled: boolean; onValueChanged: () => undefined; customValidate: () => undefined; innerClass: undefined; maximumFiles: number; }; constructor(props: IEmbedFileUploaderProps); componentDidMount(): void; componentDidUpdate(prevProps: IEmbedFileUploaderProps): void; private processValue; render(): React.JSX.Element; validate(option?: { silentValidation?: boolean | undefined; }): string | undefined; getValue(): string; getSelectedFiles(): IEmbeddedFile[]; protected valueToDisplayValue(value: string | null | undefined): string; private getAddFileComponent; private onFileChange; private onCancelUpload; private onFileUploadComplete; private getBase64; private onDragEnter; private onDragLeave; private onDragOver; private onDrop; private getAcceptedFiles; private triggerUploaderClick; private allowMultiUpload; private isFileExtensionAllowed; } export {};