/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { GroupedFiles } from './interfaces/FileGroup'; import { UploadFileInfo } from './interfaces/UploadFileInfo'; import { UploadFileStatus } from './interfaces/UploadFileStatus'; import { AxiosResponse, AxiosProgressEvent } from 'axios'; import { PropType } from 'vue'; /** * @hidden */ export interface UploadData { currentFiles: Array; } /** * @hidden */ declare const Upload: import('vue').DefineComponent; default: boolean; }; batch: { type: PropType; default: boolean; }; withCredentials: { type: PropType; default: boolean; }; saveField: { type: PropType; default: () => "files"; }; saveHeaders: { type: PropType; default: () => {}; }; saveMethod: { type: PropType; default: () => "POST"; }; saveUrl: { type: PropType) => void) => Promise<{ uid: string; }>)>; default: () => ""; }; responseType: { type: PropType<"text" | "arraybuffer" | "blob" | "json">; default: () => "json"; }; removeField: { type: PropType; default: () => "fileNames"; }; removeHeaders: { type: PropType; default: () => {}; }; removeMethod: { type: PropType; default: () => "POST"; }; removeUrl: { type: PropType Promise<{ uid: string; }>)>; default: () => ""; }; multiple: { type: PropType; default: boolean; }; disabled: { type: PropType; default: boolean; }; showFileList: { type: PropType; default: boolean; }; showActionButtons: { type: PropType; default: boolean; }; actionsLayout: { type: PropType; default: () => "end"; }; tabIndex: PropType; accept: PropType; list: PropType; restrictions: { type: PropType; default: () => { allowedExtensions: any[]; maxFileSize: number; minFileSize: number; }; }; validateFile: PropType<(file: UploadFileInfo) => void>; files: PropType; defaultFiles: PropType; }>, {}, { currentFiles: any[]; }, { computedAsync(): { autoUpload: any; batch: any; removeField: any; removeHeaders: any; removeMethod: any; removeUrl: any; responseType: any; saveField: any; saveHeaders: any; saveMethod: any; saveUrl: any; withCredentials: any; }; computedFiles(): Array; isControlled(): boolean; isCustomSave(): boolean; isCustomRemove(): boolean; fileStateCopy(): { uid: string; name: string; extension?: string; size?: number; validationErrors?: string[]; status: UploadFileStatus; progress: number; getRawFile?: () => File; }[]; actionElement(): any; }, { focus(): void; uploadFiles(filesForUpload: GroupedFiles): void; removeFiles(filesForRemove: GroupedFiles): void; onUpload(): void; onAdd(files: FileList): void; onUploadProgress(uid: string, event: ProgressEvent | AxiosProgressEvent): void; onUploadSuccess(uid: string, event?: AxiosResponse): void; onUploadError(uid: string, event?: AxiosResponse): void; onRemove(uid: string): void; onRemoveSuccess(uid: string, event?: AxiosResponse): void; onRemoveError(uid: string, event?: AxiosResponse): void; onRetry(uid: string): void; onCancel(uid: string): void; onClear(): void; }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { add: any; beforeremove: any; beforeupload: any; cancel: any; statuschange: any; progress: any; remove: any; }, string, import('vue').PublicProps, Readonly; default: boolean; }; batch: { type: PropType; default: boolean; }; withCredentials: { type: PropType; default: boolean; }; saveField: { type: PropType; default: () => "files"; }; saveHeaders: { type: PropType; default: () => {}; }; saveMethod: { type: PropType; default: () => "POST"; }; saveUrl: { type: PropType) => void) => Promise<{ uid: string; }>)>; default: () => ""; }; responseType: { type: PropType<"text" | "arraybuffer" | "blob" | "json">; default: () => "json"; }; removeField: { type: PropType; default: () => "fileNames"; }; removeHeaders: { type: PropType; default: () => {}; }; removeMethod: { type: PropType; default: () => "POST"; }; removeUrl: { type: PropType Promise<{ uid: string; }>)>; default: () => ""; }; multiple: { type: PropType; default: boolean; }; disabled: { type: PropType; default: boolean; }; showFileList: { type: PropType; default: boolean; }; showActionButtons: { type: PropType; default: boolean; }; actionsLayout: { type: PropType; default: () => "end"; }; tabIndex: PropType; accept: PropType; list: PropType; restrictions: { type: PropType; default: () => { allowedExtensions: any[]; maxFileSize: number; minFileSize: number; }; }; validateFile: PropType<(file: UploadFileInfo) => void>; files: PropType; defaultFiles: PropType; }>> & Readonly<{ onProgress?: (...args: any[] | unknown[]) => any; onCancel?: (...args: any[] | unknown[]) => any; onAdd?: (...args: any[] | unknown[]) => any; onRemove?: (...args: any[] | unknown[]) => any; onBeforeremove?: (...args: any[] | unknown[]) => any; onBeforeupload?: (...args: any[] | unknown[]) => any; onStatuschange?: (...args: any[] | unknown[]) => any; }>, { disabled: boolean; multiple: boolean; autoUpload: boolean; batch: boolean; withCredentials: boolean; saveField: string; saveHeaders: import('.').UploadHttpHeaders; saveMethod: string; saveUrl: string | ((files: UploadFileInfo[], options: { formData: FormData; requestOptions: any; }, onProgress: (uid: string, event: ProgressEvent) => void) => Promise<{ uid: string; }>); responseType: "text" | "arraybuffer" | "blob" | "json"; removeField: string; removeHeaders: import('.').UploadHttpHeaders; removeMethod: string; removeUrl: string | ((files: UploadFileInfo[], options: { formData: FormData; requestOptions: any; }) => Promise<{ uid: string; }>); actionsLayout: import('.').UploadActionsLayout; showFileList: boolean; showActionButtons: boolean; restrictions: import('.').UploadFileRestrictions; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>; export { Upload };