import { ViewProps } from "@vnxjs/components/types/View";
import { ReactNode } from "react";
import { UploadFile } from "./uploader.shared";
interface BaseUploaderProps extends ViewProps {
    className?: string;
    defaultValue?: UploadFile[] | UploadFile;
    value?: UploadFile[] | UploadFile;
    disabled?: boolean;
    multiple?: boolean;
    maxFiles?: number;
    removable?: boolean;
    children?: ReactNode;
    onUpload?(): void;
}
export interface Uploader1Props extends BaseUploaderProps {
    onChange?(file?: UploadFile): void;
}
export interface Uploader2Props extends BaseUploaderProps {
    onChange?(files: UploadFile[]): void;
}
export interface Uploader3Props extends BaseUploaderProps {
    onChange?(files?: UploadFile[]): void;
}
export declare type UploaderProps = Uploader1Props | Uploader2Props | Uploader3Props;
export default function Uploader(props: UploaderProps): JSX.Element;
export {};
