import { IUploadFileType } from '@reacted/upload-intf'; import { ReactNode } from 'react'; export declare type OnChange = (f: IUploadFileType[]) => void; export declare type OnEachComplete = (data: Partial) => void; export declare type Url = string | ((f: any) => string); export declare type OnError = (err: any) => void; export declare type TValidator = (file: File[]) => File[] | Promise; export interface IParseResponse { (data: any): Partial; } interface IUploadBaseProps { multiple?: boolean; maxSize?: number; maxFiles?: number; url?: Url; onError?: OnError; files?: IUploadFileType[]; onChange: OnChange; onEachComplete?: OnEachComplete; accept?: string | string[]; parseResponse?: IParseResponse; validator?: TValidator; } export interface IUploadProps extends IUploadBaseProps { children: JSX.Element; } export declare enum EDndSize { big = "big", small = "small" } export interface IUploadDNDProps extends IUploadBaseProps { disabled?: boolean; width?: string; error?: boolean; size?: EDndSize; text?: ReactNode; } export interface ISCDropzone { dragover: boolean; disabled: boolean; size: EDndSize; } export interface ISCContainer extends ISCDropzone { width: string; error: boolean; size: EDndSize; } export {};