import { UploadItem, UploadLocale } from './types';

declare const _default: import('vue').DefineComponent<{
    modelValue: import('vue').PropType<UploadItem[]>;
    readonly: BooleanConstructor;
    disabled: BooleanConstructor;
    preview: {
        type: BooleanConstructor;
        default: boolean;
    };
    limit: NumberConstructor;
    multiple: BooleanConstructor;
    drag: BooleanConstructor;
    accept: {
        type: StringConstructor;
        default: string;
    };
    itemStyle: import('vue').PropType<import('../ele-app/types').StyleValue | false>;
    buttonStyle: {
        type: import('vue').PropType<import('../ele-app/types').StyleValue | false>;
        default: null;
    };
    sortable: {
        type: import('vue').PropType<boolean | Record<keyof any, any>>;
        default: boolean;
    };
    imageProps: import('vue').PropType<import('../ele-app/el').ElImageProps>;
    progressProps: import('vue').PropType<import('../ele-app/el').ElProgressProps>;
    previewProps: import('vue').PropType<import('../ele-app/plus').EleImageViewerProps>;
    tools: BooleanConstructor;
    listType: import('vue').PropType<import('./types').ListType>;
    beforeUploadClick: import('vue').PropType<import('./types').BeforeUploadClick>;
    beforeItemEdit: import('vue').PropType<import('./types').BeforeItemEdit>;
    locale: import('vue').PropType<Partial<UploadLocale>>;
}, {
    ownSlots: string[];
    lang: import('vue').ComputedRef<UploadLocale>;
    previewVisible: import('vue').Ref<boolean>;
    previewImages: import('vue').Ref<string[]>;
    previewCurrentIndex: import('vue').Ref<number>;
    imageObjectUrls: import('vue').Ref<{
        file: {
            readonly lastModified: number;
            readonly name: string;
            readonly webkitRelativePath: string;
            readonly size: number;
            readonly type: string;
            arrayBuffer: () => Promise<ArrayBuffer>;
            slice: (start?: number, end?: number, contentType?: string) => Blob;
            stream: () => ReadableStream<Uint8Array>;
            text: () => Promise<string>;
        };
        url: string;
    }[]>;
    uploadInputRef: import('vue').Ref<HTMLInputElement | null>;
    uploadEnable: import('vue').ComputedRef<boolean>;
    updateModelValue: (value: UploadItem[]) => void;
    handleUpload: (file: File) => boolean;
    handleItemClick: (item: UploadItem) => void;
    handleItemRemove: (item: UploadItem) => void;
    handleItemEdit: (item: UploadItem) => void;
    handleItemPreview: (item: UploadItem) => void;
    handleItemRetry: (item: UploadItem) => void;
    handleInputChange: (e: Event) => void;
    handleUploadClick: (e: MouseEvent) => void;
    openImagePreview: (urls: string[], index: number) => void;
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    'update:modelValue': (_value: UploadItem[]) => boolean;
    itemClick: (_item: UploadItem) => boolean;
    upload: (_item: UploadItem) => boolean;
    remove: (_item: UploadItem) => boolean;
    retry: (_item: UploadItem) => boolean;
    editUpload: (_result: import('./types').EditUploadResult) => boolean;
    preview: (_item: UploadItem) => boolean;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    modelValue: import('vue').PropType<UploadItem[]>;
    readonly: BooleanConstructor;
    disabled: BooleanConstructor;
    preview: {
        type: BooleanConstructor;
        default: boolean;
    };
    limit: NumberConstructor;
    multiple: BooleanConstructor;
    drag: BooleanConstructor;
    accept: {
        type: StringConstructor;
        default: string;
    };
    itemStyle: import('vue').PropType<import('../ele-app/types').StyleValue | false>;
    buttonStyle: {
        type: import('vue').PropType<import('../ele-app/types').StyleValue | false>;
        default: null;
    };
    sortable: {
        type: import('vue').PropType<boolean | Record<keyof any, any>>;
        default: boolean;
    };
    imageProps: import('vue').PropType<import('../ele-app/el').ElImageProps>;
    progressProps: import('vue').PropType<import('../ele-app/el').ElProgressProps>;
    previewProps: import('vue').PropType<import('../ele-app/plus').EleImageViewerProps>;
    tools: BooleanConstructor;
    listType: import('vue').PropType<import('./types').ListType>;
    beforeUploadClick: import('vue').PropType<import('./types').BeforeUploadClick>;
    beforeItemEdit: import('vue').PropType<import('./types').BeforeItemEdit>;
    locale: import('vue').PropType<Partial<UploadLocale>>;
}>> & {
    "onUpdate:modelValue"?: ((_value: UploadItem[]) => any) | undefined;
    onItemClick?: ((_item: UploadItem) => any) | undefined;
    onRemove?: ((_item: UploadItem) => any) | undefined;
    onPreview?: ((_item: UploadItem) => any) | undefined;
    onRetry?: ((_item: UploadItem) => any) | undefined;
    onUpload?: ((_item: UploadItem) => any) | undefined;
    onEditUpload?: ((_result: import('./types').EditUploadResult) => any) | undefined;
}, {
    drag: boolean;
    disabled: boolean;
    readonly: boolean;
    sortable: boolean | Record<string | number | symbol, any>;
    multiple: boolean;
    preview: boolean;
    accept: string;
    tools: boolean;
    buttonStyle: false | Partial<import('vue').CSSProperties>;
}, {}>;
export default _default;
