import { ImageGroupProps } from "../../image/src/ImageGroup.js"; import "../../image/index.js"; import { UploadTheme } from "../styles/light.js"; import "../styles/index.js"; import { UploadCustomRequestOptions, UploadFileInfo, UploadOnDownload, UploadOnFinish, UploadOnRemove, UploadSettledFileInfo } from "./public-types.js"; import { MergedTheme } from "../../_mixins/use-theme.js"; import "../../_mixins/index.js"; import { CSSProperties, Ref, VNodeChild } from "vue"; //#region src/upload/src/interface.d.ts type ShouldUseThumbnailUrl = (file: UploadSettledFileInfo) => boolean; type FuncOrRecordOrUndef = Record | (({ file }: { file: UploadSettledFileInfo; }) => Record) | undefined; interface UploadInternalInst { doChange: DoChange; xhrMap: Map; isErrorState: ((xhr: XMLHttpRequest) => boolean) | undefined; onError: OnError | undefined; onFinish: UploadOnFinish | undefined; } type DoChange = (fileAfterChange: UploadSettledFileInfo, event?: ProgressEvent | Event, options?: { append?: boolean; remove?: boolean; }) => void; type OnUpdateFileList = (fileList: UploadSettledFileInfo[]) => void; type RenderIcon = (file: UploadSettledFileInfo) => VNodeChild; interface UploadInjection { mergedClsPrefixRef: Ref; mergedThemeRef: Ref>; showCancelButtonRef: Ref; showRemoveButtonRef: Ref; showDownloadButtonRef: Ref; showRetryButtonRef: Ref; showTriggerRef: Ref; mergedFileListRef: Ref; onRemoveRef: Ref; onDownloadRef: Ref; customDownloadRef: Ref; xhrMap: Map; showPreviewButtonRef: Ref; alwaysShowActionsRef: Ref; onPreviewRef: Ref; listTypeRef: Ref; dragOverRef: Ref; draggerInsideRef: { value: boolean; }; fileListClassRef: Ref; fileListStyleRef: Ref; mergedDisabledRef: Ref; maxReachedRef: Ref; abstractRef: Ref; imageGroupPropsRef: Ref; cssVarsRef: undefined | Ref; themeClassRef: undefined | Ref; mergedDirectoryDndRef: Ref; acceptRef: Ref; triggerClassRef: Ref; triggerStyleRef: Ref; doChange: DoChange; onRender: undefined | (() => void); submit: (options?: { fileId?: string; retry?: boolean; }) => void; onRetryRef: Ref; shouldUseThumbnailUrlRef: Ref; getFileThumbnailUrlResolver: (file: UploadSettledFileInfo) => Promise | string; renderIconRef: Ref; handleFileAddition: (files: FileAndEntry[] | null, e?: Event) => void; openOpenFileDialog: () => void; } declare const uploadInjectionKey: import("vue").InjectionKey; interface XhrHandlers { handleXHRLoad: (e: ProgressEvent) => void; handleXHRAbort: (e: ProgressEvent) => void; handleXHRProgress: (e: ProgressEvent) => void; handleXHRError: (e: ProgressEvent) => void; } type OnBeforeUpload = (data: { file: UploadSettledFileInfo; fileList: UploadSettledFileInfo[]; }) => Promise | boolean | void; type ListType = 'text' | 'image' | 'image-card'; type OnPreview = (file: UploadSettledFileInfo, detail: { event: MouseEvent; }) => void; type CreateThumbnailUrl = (file: File | null, fileInfo: UploadSettledFileInfo) => Promise | string | undefined; type CustomRequest = (options: UploadCustomRequestOptions) => void; type OnError = ({ file, event }: { file: UploadSettledFileInfo; event?: ProgressEvent; }) => UploadFileInfo | undefined | void; type OnRetry = ({ file }: { file: UploadSettledFileInfo; }) => Promise | boolean | void; interface FileAndEntry { file: File; entry: FileSystemFileEntry | null; source: 'dnd' | 'input'; } interface UploadTriggerDefaultSlotOptions { handleClick: () => void; handleDragOver: (e: DragEvent) => void; handleDragEnter: (e: DragEvent) => void; handleDragLeave: (e: DragEvent) => void; handleDrop: (e: DragEvent) => void; } //#endregion export { CreateThumbnailUrl, CustomRequest, DoChange, FileAndEntry, FuncOrRecordOrUndef, ListType, OnBeforeUpload, OnError, OnPreview, OnRetry, OnUpdateFileList, RenderIcon, ShouldUseThumbnailUrl, UploadInjection, UploadInternalInst, UploadTriggerDefaultSlotOptions, XhrHandlers, uploadInjectionKey };