import { HTMLProps, ReactNode } from 'react';
import { UploadWrapperProps } from './components/uploadWrapper';
type UploadError = {
type: 'maxFilesExceeded' | 'invalidFileType';
files?: File[];
} | null;
export interface UploadProps extends Omit {
/**
* Properties that will be passed to the input element.
*/
inputProps?: Omit, 'hidden' | 'type' | 'multiple'>;
/**
* Sets maximum files that are available.
* If maxFiles is bigger than 1 the input is type multiple.
* @default 1
*/
maxFiles?: number;
/**
* Handler that is called when user provide files.
*/
onFileChange?: (files: Array) => void;
/**
* Children as a render function that gets error and dragging state.
*/
children?: ReactNode | ((params: {
error: UploadError;
dragging: boolean;
}) => ReactNode);
/**
* Current number of uploaded files.
*/
currentFilesCount?: number;
}
export declare function Upload({ children, currentFilesCount, onFileChange, inputProps, maxFiles, state, ...restProps }: UploadProps): import("react/jsx-runtime").JSX.Element;
export {};