import { ExtractPropTypes, PropType } from 'vue'; import { BooleanType, UploadStatusType } from '../const/types'; import { IconType } from '../icon'; export interface UploadFile { uid?: string; url?: string; filename?: string; size?: string; status?: UploadStatusType; percent?: number; preview?: string | null; response?: any; errorText?: string; xhr?: XMLHttpRequest; } export declare const uploadProps: { method: { type: StringConstructor; default: string; }; name: { type: StringConstructor; default: string; }; action: { type: StringConstructor; required: true; }; type: { type: PropType<"list" | "picture">; default: string; }; data: { type: PropType>; default: () => {}; }; disabled: BooleanType; directory: BooleanType; multiple: BooleanType; accept: StringConstructor; headers: PropType>; showUploadList: { type: BooleanType; default: boolean; }; transformFile: PropType<(file: File) => Promise>; fileList: { type: PropType; default: () => never[]; }; autoTrigger: { type: BooleanType; default: boolean; }; limit: NumberConstructor; minSize: NumberConstructor; maxSize: NumberConstructor; uploadText: StringConstructor; uploadSubText: StringConstructor; uploadIcon: PropType; draggable: BooleanType; onChange: PropType<(event: UploadChangeEvent) => void>; onRemove: PropType<(event: UploadChangeEvent) => void>; onSelectFiles: PropType<(files: UploadFile[]) => void>; onExceed: PropType<() => void>; onSizeError: PropType<(event: UploadChangeEvent) => void>; onBeforeUpload: PropType<(item: UploadFile, file: File) => void>; }; export type UploadProps = ExtractPropTypes; export interface UploadChangeEvent { file: UploadFile; fileList: UploadFile[]; } export interface UploadContext extends UploadProps { upload: () => void; } declare const Upload: import('vue').DefineComponent; default: string; }; data: { type: PropType>; default: () => {}; }; disabled: BooleanType; directory: BooleanType; multiple: BooleanType; accept: StringConstructor; headers: PropType>; showUploadList: { type: BooleanType; default: boolean; }; transformFile: PropType<(file: File) => Promise>; fileList: { type: PropType; default: () => never[]; }; autoTrigger: { type: BooleanType; default: boolean; }; limit: NumberConstructor; minSize: NumberConstructor; maxSize: NumberConstructor; uploadText: StringConstructor; uploadSubText: StringConstructor; uploadIcon: PropType; draggable: BooleanType; onChange: PropType<(event: UploadChangeEvent) => void>; onRemove: PropType<(event: UploadChangeEvent) => void>; onSelectFiles: PropType<(files: UploadFile[]) => void>; onExceed: PropType<() => void>; onSizeError: PropType<(event: UploadChangeEvent) => void>; onBeforeUpload: PropType<(item: UploadFile, file: File) => void>; }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly; default: string; }; data: { type: PropType>; default: () => {}; }; disabled: BooleanType; directory: BooleanType; multiple: BooleanType; accept: StringConstructor; headers: PropType>; showUploadList: { type: BooleanType; default: boolean; }; transformFile: PropType<(file: File) => Promise>; fileList: { type: PropType; default: () => never[]; }; autoTrigger: { type: BooleanType; default: boolean; }; limit: NumberConstructor; minSize: NumberConstructor; maxSize: NumberConstructor; uploadText: StringConstructor; uploadSubText: StringConstructor; uploadIcon: PropType; draggable: BooleanType; onChange: PropType<(event: UploadChangeEvent) => void>; onRemove: PropType<(event: UploadChangeEvent) => void>; onSelectFiles: PropType<(files: UploadFile[]) => void>; onExceed: PropType<() => void>; onSizeError: PropType<(event: UploadChangeEvent) => void>; onBeforeUpload: PropType<(item: UploadFile, file: File) => void>; }>> & Readonly<{}>, { type: "picture" | "list"; name: string; data: Record; showUploadList: boolean | undefined; fileList: UploadFile[]; method: string; autoTrigger: boolean | undefined; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>; export default Upload;