import { UploadFileT, UploadListTypeT } from './types';
interface UploadFileItemPropsT {
    file: UploadFileT;
    listType: UploadListTypeT;
}
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Partial<Record<string, (_: {
        item: UploadFileT;
    }) => any>>;
    refs: {
        figureRef: ({
            $: import('vue').ComponentInternalInstance;
            $data: {};
            $props: Partial<{
                background: boolean;
                hoverable: boolean;
                colorful: boolean;
                preview: boolean;
                lazyPreiew: boolean;
                videoPoster: boolean;
            }> & Omit<{
                readonly background: boolean;
                readonly hoverable: boolean;
                readonly colorful: boolean;
                readonly preview: boolean;
                readonly lazyPreiew: boolean;
                readonly videoPoster: boolean;
                readonly href?: string | undefined;
                readonly src?: string | undefined;
                readonly ratio?: number | undefined;
                readonly fit?: string | undefined;
                readonly alt?: string | undefined;
                readonly previewClose?: ("body" | "button" | "mask" | "none") | ("body" | "button" | "mask" | "none")[] | undefined;
                readonly lazy?: boolean | IntersectionObserverInit | undefined;
                readonly onError?: (() => any) | undefined;
                readonly onLoad?: (() => any) | undefined;
                readonly onPreview?: ((visible: boolean) => any) | undefined;
            } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "background" | "hoverable" | "colorful" | "preview" | "lazyPreiew" | "videoPoster">;
            $attrs: {
                [x: string]: unknown;
            };
            $refs: {
                [x: string]: unknown;
            } & {
                rootEl: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
                    tag: {
                        type: StringConstructor;
                        default: string;
                    };
                }>> & Readonly<{}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
                    [key: string]: any;
                }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
                    tag: string;
                }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
                    P: {};
                    B: {};
                    D: {};
                    C: {};
                    M: {};
                    Defaults: {};
                }, Readonly<import('vue').ExtractPropTypes<{
                    tag: {
                        type: StringConstructor;
                        default: string;
                    };
                }>> & Readonly<{}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
                    [key: string]: any;
                }>, {}, {}, {}, {
                    tag: string;
                }> | null;
                imgRef: HTMLImageElement;
            };
            $slots: Readonly<{
                [name: string]: import('vue').Slot<any> | undefined;
            }>;
            $root: import('vue').ComponentPublicInstance | null;
            $parent: import('vue').ComponentPublicInstance | null;
            $host: Element | null;
            $emit: ((event: "error") => void) & ((event: "load") => void) & ((event: "preview", visible: boolean) => void);
            $el: any;
            $options: import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
                src: {
                    type: StringConstructor;
                    required: boolean;
                };
                ratio: {
                    type: NumberConstructor;
                };
                fit: {
                    type: StringConstructor;
                };
                alt: {
                    type: StringConstructor;
                };
                background: {
                    type: BooleanConstructor;
                };
                hoverable: {
                    type: BooleanConstructor;
                };
                href: {
                    type: StringConstructor;
                };
                colorful: {
                    type: BooleanConstructor;
                };
                preview: {
                    type: BooleanConstructor;
                };
                lazyPreiew: {
                    type: BooleanConstructor;
                };
                videoPoster: {
                    type: BooleanConstructor;
                };
                previewClose: {
                    type: import('vue').PropType<("body" | "button" | "mask" | "none") | ("body" | "button" | "mask" | "none")[]>;
                };
                lazy: {
                    type: import('vue').PropType<boolean | IntersectionObserverInit>;
                };
            }>> & Readonly<{
                onError?: (() => any) | undefined;
                onLoad?: (() => any) | undefined;
                onPreview?: ((visible: boolean) => any) | undefined;
            }>, {
                preview: (visible?: boolean) => void;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
                error: () => any;
                load: () => any;
                preview: (visible: boolean) => any;
            }, string, {
                background: boolean;
                hoverable: boolean;
                colorful: boolean;
                preview: boolean;
                lazyPreiew: boolean;
                videoPoster: boolean;
            }, {}, 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<T extends string | ((...args: any) => 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<{
            background: boolean;
            hoverable: boolean;
            colorful: boolean;
            preview: boolean;
            lazyPreiew: boolean;
            videoPoster: boolean;
        }> & Omit<Readonly<import('vue').ExtractPropTypes<{
            src: {
                type: StringConstructor;
                required: boolean;
            };
            ratio: {
                type: NumberConstructor;
            };
            fit: {
                type: StringConstructor;
            };
            alt: {
                type: StringConstructor;
            };
            background: {
                type: BooleanConstructor;
            };
            hoverable: {
                type: BooleanConstructor;
            };
            href: {
                type: StringConstructor;
            };
            colorful: {
                type: BooleanConstructor;
            };
            preview: {
                type: BooleanConstructor;
            };
            lazyPreiew: {
                type: BooleanConstructor;
            };
            videoPoster: {
                type: BooleanConstructor;
            };
            previewClose: {
                type: import('vue').PropType<("body" | "button" | "mask" | "none") | ("body" | "button" | "mask" | "none")[]>;
            };
            lazy: {
                type: import('vue').PropType<boolean | IntersectionObserverInit>;
            };
        }>> & Readonly<{
            onError?: (() => any) | undefined;
            onLoad?: (() => any) | undefined;
            onPreview?: ((visible: boolean) => any) | undefined;
        }>, "background" | "hoverable" | "colorful" | "preview" | "lazyPreiew" | "videoPoster"> & import('vue').ShallowUnwrapRef<{
            preview: (visible?: boolean) => void;
        }> & {} & import('vue').ComponentCustomProperties & {} & {
            $slots: {
                error?(_: {}): any;
                default?(_: {}): any;
                'play-icon'?(_: {}): any;
                content?(_: {}): any;
                title?(_: {}): any;
                preview?(_: {
                    image: string | undefined;
                }): any;
                'preview-extra'?(_: {}): any;
            };
        }) | null;
    };
    rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<UploadFileItemPropsT, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    replace: (file: UploadFileT) => any;
    remove: (file: UploadFileT) => any;
    retry: (file: UploadFileT) => any;
}, string, import('vue').PublicProps, Readonly<UploadFileItemPropsT> & Readonly<{
    onReplace?: ((file: UploadFileT) => any) | undefined;
    onRemove?: ((file: UploadFileT) => any) | undefined;
    onRetry?: ((file: UploadFileT) => any) | undefined;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    figureRef: ({
        $: import('vue').ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            background: boolean;
            hoverable: boolean;
            colorful: boolean;
            preview: boolean;
            lazyPreiew: boolean;
            videoPoster: boolean;
        }> & Omit<{
            readonly background: boolean;
            readonly hoverable: boolean;
            readonly colorful: boolean;
            readonly preview: boolean;
            readonly lazyPreiew: boolean;
            readonly videoPoster: boolean;
            readonly href?: string | undefined;
            readonly src?: string | undefined;
            readonly ratio?: number | undefined;
            readonly fit?: string | undefined;
            readonly alt?: string | undefined;
            readonly previewClose?: ("body" | "button" | "mask" | "none") | ("body" | "button" | "mask" | "none")[] | undefined;
            readonly lazy?: boolean | IntersectionObserverInit | undefined;
            readonly onError?: (() => any) | undefined;
            readonly onLoad?: (() => any) | undefined;
            readonly onPreview?: ((visible: boolean) => any) | undefined;
        } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "background" | "hoverable" | "colorful" | "preview" | "lazyPreiew" | "videoPoster">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        } & {
            rootEl: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
                tag: {
                    type: StringConstructor;
                    default: string;
                };
            }>> & Readonly<{}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
                [key: string]: any;
            }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
                tag: string;
            }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<import('vue').ExtractPropTypes<{
                tag: {
                    type: StringConstructor;
                    default: string;
                };
            }>> & Readonly<{}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
                [key: string]: any;
            }>, {}, {}, {}, {
                tag: string;
            }> | null;
            imgRef: HTMLImageElement;
        };
        $slots: Readonly<{
            [name: string]: import('vue').Slot<any> | undefined;
        }>;
        $root: import('vue').ComponentPublicInstance | null;
        $parent: import('vue').ComponentPublicInstance | null;
        $host: Element | null;
        $emit: ((event: "error") => void) & ((event: "load") => void) & ((event: "preview", visible: boolean) => void);
        $el: any;
        $options: import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
            src: {
                type: StringConstructor;
                required: boolean;
            };
            ratio: {
                type: NumberConstructor;
            };
            fit: {
                type: StringConstructor;
            };
            alt: {
                type: StringConstructor;
            };
            background: {
                type: BooleanConstructor;
            };
            hoverable: {
                type: BooleanConstructor;
            };
            href: {
                type: StringConstructor;
            };
            colorful: {
                type: BooleanConstructor;
            };
            preview: {
                type: BooleanConstructor;
            };
            lazyPreiew: {
                type: BooleanConstructor;
            };
            videoPoster: {
                type: BooleanConstructor;
            };
            previewClose: {
                type: import('vue').PropType<("body" | "button" | "mask" | "none") | ("body" | "button" | "mask" | "none")[]>;
            };
            lazy: {
                type: import('vue').PropType<boolean | IntersectionObserverInit>;
            };
        }>> & Readonly<{
            onError?: (() => any) | undefined;
            onLoad?: (() => any) | undefined;
            onPreview?: ((visible: boolean) => any) | undefined;
        }>, {
            preview: (visible?: boolean) => void;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
            error: () => any;
            load: () => any;
            preview: (visible: boolean) => any;
        }, string, {
            background: boolean;
            hoverable: boolean;
            colorful: boolean;
            preview: boolean;
            lazyPreiew: boolean;
            videoPoster: boolean;
        }, {}, 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<T extends string | ((...args: any) => 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<{
        background: boolean;
        hoverable: boolean;
        colorful: boolean;
        preview: boolean;
        lazyPreiew: boolean;
        videoPoster: boolean;
    }> & Omit<Readonly<import('vue').ExtractPropTypes<{
        src: {
            type: StringConstructor;
            required: boolean;
        };
        ratio: {
            type: NumberConstructor;
        };
        fit: {
            type: StringConstructor;
        };
        alt: {
            type: StringConstructor;
        };
        background: {
            type: BooleanConstructor;
        };
        hoverable: {
            type: BooleanConstructor;
        };
        href: {
            type: StringConstructor;
        };
        colorful: {
            type: BooleanConstructor;
        };
        preview: {
            type: BooleanConstructor;
        };
        lazyPreiew: {
            type: BooleanConstructor;
        };
        videoPoster: {
            type: BooleanConstructor;
        };
        previewClose: {
            type: import('vue').PropType<("body" | "button" | "mask" | "none") | ("body" | "button" | "mask" | "none")[]>;
        };
        lazy: {
            type: import('vue').PropType<boolean | IntersectionObserverInit>;
        };
    }>> & Readonly<{
        onError?: (() => any) | undefined;
        onLoad?: (() => any) | undefined;
        onPreview?: ((visible: boolean) => any) | undefined;
    }>, "background" | "hoverable" | "colorful" | "preview" | "lazyPreiew" | "videoPoster"> & import('vue').ShallowUnwrapRef<{
        preview: (visible?: boolean) => void;
    }> & {} & import('vue').ComponentCustomProperties & {} & {
        $slots: {
            error?(_: {}): any;
            default?(_: {}): any;
            'play-icon'?(_: {}): any;
            content?(_: {}): any;
            title?(_: {}): any;
            preview?(_: {
                image: string | undefined;
            }): any;
            'preview-extra'?(_: {}): any;
        };
    }) | null;
}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
