import { VNode } from 'vue'; import { SpinProps } from '../spin'; import { ImageProps } from '../image'; import { SpaceProps } from '../space'; export interface FileType { name?: string; url: any; [propName: string]: any; } export interface Props { accept?: string; multiple?: boolean; maxCount?: number; tip?: string; fit?: 'contain' | 'fill' | 'cover' | 'none' | 'scale-down'; draggable?: boolean; disabled?: boolean; spaceProps?: SpaceProps; spinProps?: SpinProps; imageProps?: ImageProps; beforeUpload?: (file: File) => boolean | void | Promise; uploadMode?: 'base64' | 'custom'; customRequest?: (file: File) => Promise; fileList?: FileType[]; defaultFileList?: FileType[]; } export interface UploadSlots { tip?: () => VNode[]; } declare function __VLS_template(): { attrs: Partial<{}>; slots: Readonly & UploadSlots; refs: { uploadInputRef: HTMLInputElement; imageRef: ({ $: import('vue').ComponentInternalInstance; $data: {}; $props: { readonly src?: string | import('../image').ImageItem[] | undefined; readonly name?: string | undefined; readonly width?: string | number | (string | number)[] | undefined; readonly height?: string | number | (string | number)[] | undefined; readonly disabled?: boolean | undefined; readonly bordered?: boolean | undefined; readonly fit?: "contain" | "fill" | "cover" | "none" | "scale-down" | undefined; readonly preview?: string | undefined; readonly previewImageStyle?: import('vue').CSSProperties | undefined; readonly zIndex?: number | undefined; readonly spaceProps?: SpaceProps | undefined; readonly spinProps?: SpinProps | undefined; readonly previewSpinProps?: SpinProps | undefined; readonly zoomRatio?: number | undefined; readonly minZoomScale?: number | undefined; readonly maxZoomScale?: number | undefined; readonly resetOnDbclick?: boolean | undefined; readonly draggable?: boolean | undefined; readonly loop?: boolean | undefined; readonly album?: boolean | undefined; readonly downloadOptions?: { target?: "_self" | "_blank"; strategy?: "auto" | "anchor" | "iframe"; } | undefined; readonly customDownload?: ((url: string, fileName?: string) => void | Promise) | undefined; } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps; $attrs: import('vue').Attrs; $refs: { [x: string]: unknown; } & { imagesRef: HTMLImageElement; previewRef: HTMLDivElement; previewImagesRef: HTMLImageElement; }; $slots: Readonly<{ [name: string]: import('vue').Slot | undefined; }>; $root: import('vue').ComponentPublicInstance | null; $parent: import('vue').ComponentPublicInstance | null; $host: Element | null; $emit: (event: string, ...args: any[]) => void; $el: HTMLDivElement; $options: import('vue').ComponentOptionsBase & Readonly<{}>, { preview: (index: number) => Promise; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, { name: string; width: string | number | (string | number)[]; height: string | number | (string | number)[]; bordered: boolean; src: string | import('../image').ImageItem[]; zIndex: number; disabled: boolean; preview: string; loop: boolean; spinProps: SpinProps; draggable: boolean; fit: "contain" | "fill" | "cover" | "none" | "scale-down"; previewImageStyle: import('vue').CSSProperties; spaceProps: SpaceProps; previewSpinProps: SpinProps; zoomRatio: number; minZoomScale: number; maxZoomScale: number; resetOnDbclick: boolean; album: boolean; downloadOptions: { target?: "_self" | "_blank"; strategy?: "auto" | "anchor" | "iframe"; }; customDownload: (url: string, fileName?: string) => void | Promise; }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: typeof import('vue').nextTick; $watch any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle; } & Readonly<{ name: string; width: string | number | (string | number)[]; height: string | number | (string | number)[]; bordered: boolean; src: string | import('../image').ImageItem[]; zIndex: number; disabled: boolean; preview: string; loop: boolean; spinProps: SpinProps; draggable: boolean; fit: "contain" | "fill" | "cover" | "none" | "scale-down"; previewImageStyle: import('vue').CSSProperties; spaceProps: SpaceProps; previewSpinProps: SpinProps; zoomRatio: number; minZoomScale: number; maxZoomScale: number; resetOnDbclick: boolean; album: boolean; downloadOptions: { target?: "_self" | "_blank"; strategy?: "auto" | "anchor" | "iframe"; }; customDownload: (url: string, fileName?: string) => void | Promise; }> & Omit & Readonly<{}>, "name" | "width" | "height" | "bordered" | "src" | "zIndex" | "disabled" | "preview" | "loop" | "spinProps" | "draggable" | "fit" | "previewImageStyle" | "spaceProps" | "previewSpinProps" | "zoomRatio" | "minZoomScale" | "maxZoomScale" | "resetOnDbclick" | "album" | "downloadOptions" | "customDownload"> & { preview: (index: number) => Promise; } & {} & import('vue').ComponentCustomProperties & {} & { $slots: Readonly & import('../image').ImageSlots; }) | null; }; rootEl: HTMLDivElement; }; type __VLS_TemplateResult = ReturnType; declare const __VLS_component: import('vue').DefineComponent void; change: (...args: any[]) => void; drop: (...args: any[]) => void; success: (...args: any[]) => void; preview: (...args: any[]) => void; remove: (...args: any[]) => void; "update:fileList": (...args: any[]) => void; reject: (...args: any[]) => void; }, string, import('vue').PublicProps, Readonly & Readonly<{ onError?: ((...args: any[]) => any) | undefined; onChange?: ((...args: any[]) => any) | undefined; onDrop?: ((...args: any[]) => any) | undefined; onSuccess?: ((...args: any[]) => any) | undefined; onPreview?: ((...args: any[]) => any) | undefined; onRemove?: ((...args: any[]) => any) | undefined; "onUpdate:fileList"?: ((...args: any[]) => any) | undefined; onReject?: ((...args: any[]) => any) | undefined; }>, { multiple: boolean; disabled: boolean; accept: string; tip: string; spinProps: SpinProps; draggable: boolean; maxCount: number; fit: "contain" | "fill" | "cover" | "none" | "scale-down"; spaceProps: SpaceProps; imageProps: ImageProps; beforeUpload: (file: File) => boolean | void | Promise; uploadMode: "base64" | "custom"; customRequest: (file: File) => Promise; defaultFileList: FileType[]; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, { uploadInputRef: HTMLInputElement; imageRef: ({ $: import('vue').ComponentInternalInstance; $data: {}; $props: { readonly src?: string | import('../image').ImageItem[] | undefined; readonly name?: string | undefined; readonly width?: string | number | (string | number)[] | undefined; readonly height?: string | number | (string | number)[] | undefined; readonly disabled?: boolean | undefined; readonly bordered?: boolean | undefined; readonly fit?: "contain" | "fill" | "cover" | "none" | "scale-down" | undefined; readonly preview?: string | undefined; readonly previewImageStyle?: import('vue').CSSProperties | undefined; readonly zIndex?: number | undefined; readonly spaceProps?: SpaceProps | undefined; readonly spinProps?: SpinProps | undefined; readonly previewSpinProps?: SpinProps | undefined; readonly zoomRatio?: number | undefined; readonly minZoomScale?: number | undefined; readonly maxZoomScale?: number | undefined; readonly resetOnDbclick?: boolean | undefined; readonly draggable?: boolean | undefined; readonly loop?: boolean | undefined; readonly album?: boolean | undefined; readonly downloadOptions?: { target?: "_self" | "_blank"; strategy?: "auto" | "anchor" | "iframe"; } | undefined; readonly customDownload?: ((url: string, fileName?: string) => void | Promise) | undefined; } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps; $attrs: import('vue').Attrs; $refs: { [x: string]: unknown; } & { imagesRef: HTMLImageElement; previewRef: HTMLDivElement; previewImagesRef: HTMLImageElement; }; $slots: Readonly<{ [name: string]: import('vue').Slot | undefined; }>; $root: import('vue').ComponentPublicInstance | null; $parent: import('vue').ComponentPublicInstance | null; $host: Element | null; $emit: (event: string, ...args: any[]) => void; $el: HTMLDivElement; $options: import('vue').ComponentOptionsBase & Readonly<{}>, { preview: (index: number) => Promise; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, { name: string; width: string | number | (string | number)[]; height: string | number | (string | number)[]; bordered: boolean; src: string | import('../image').ImageItem[]; zIndex: number; disabled: boolean; preview: string; loop: boolean; spinProps: SpinProps; draggable: boolean; fit: "contain" | "fill" | "cover" | "none" | "scale-down"; previewImageStyle: import('vue').CSSProperties; spaceProps: SpaceProps; previewSpinProps: SpinProps; zoomRatio: number; minZoomScale: number; maxZoomScale: number; resetOnDbclick: boolean; album: boolean; downloadOptions: { target?: "_self" | "_blank"; strategy?: "auto" | "anchor" | "iframe"; }; customDownload: (url: string, fileName?: string) => void | Promise; }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: typeof import('vue').nextTick; $watch any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle; } & Readonly<{ name: string; width: string | number | (string | number)[]; height: string | number | (string | number)[]; bordered: boolean; src: string | import('../image').ImageItem[]; zIndex: number; disabled: boolean; preview: string; loop: boolean; spinProps: SpinProps; draggable: boolean; fit: "contain" | "fill" | "cover" | "none" | "scale-down"; previewImageStyle: import('vue').CSSProperties; spaceProps: SpaceProps; previewSpinProps: SpinProps; zoomRatio: number; minZoomScale: number; maxZoomScale: number; resetOnDbclick: boolean; album: boolean; downloadOptions: { target?: "_self" | "_blank"; strategy?: "auto" | "anchor" | "iframe"; }; customDownload: (url: string, fileName?: string) => void | Promise; }> & Omit & Readonly<{}>, "name" | "width" | "height" | "bordered" | "src" | "zIndex" | "disabled" | "preview" | "loop" | "spinProps" | "draggable" | "fit" | "previewImageStyle" | "spaceProps" | "previewSpinProps" | "zoomRatio" | "minZoomScale" | "maxZoomScale" | "resetOnDbclick" | "album" | "downloadOptions" | "customDownload"> & { preview: (index: number) => Promise; } & {} & import('vue').ComponentCustomProperties & {} & { $slots: Readonly & import('../image').ImageSlots; }) | null; }, HTMLDivElement>; declare const _default: __VLS_WithTemplateSlots; export default _default; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };