import { App } from 'vue';
declare const OUpload: {
    new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
        modelValue: {
            type: import('vue').PropType<import('./types').UploadFileT[]>;
        };
        defaultFileList: {
            type: import('vue').PropType<import('./types').UploadFileT[]>;
        };
        accept: {
            type: StringConstructor;
        };
        disabled: {
            type: BooleanConstructor;
        };
        multiple: {
            type: BooleanConstructor;
        };
        beforeSelect: {
            type: import('vue').PropType<(value: import('./types').UploadFileT[]) => Promise<boolean> | boolean>;
        };
        onAfterSelect: {
            type: import('vue').PropType<(fileList: FileList) => Promise<Array<import('./types').UploadFileT>>>;
        };
        btnLabel: {
            type: StringConstructor;
        };
        uploadRequest: {
            type: import('vue').PropType<(options: import('./types').UploadRequestOptionT) => import('./types').UploadRequestT>;
        };
        lazyUpload: {
            type: BooleanConstructor;
        };
        onBeforeUpload: {
            type: import('vue').PropType<(file: import('./types').UploadFileT) => Promise<boolean | File>>;
        };
        onBeforeRemove: {
            type: import('vue').PropType<(file: import('./types').UploadFileT) => Promise<boolean>>;
        };
        draggable: {
            type: BooleanConstructor;
        };
        dragLabel: {
            type: StringConstructor;
        };
        dragHoverLabel: {
            type: StringConstructor;
        };
        listType: {
            type: import('vue').PropType<"text" | "picture" | "picture-card">;
            default: string;
        };
        createThumbnail: {
            type: import('vue').PropType<(file: File) => Promise<string>>;
        };
    }>> & Readonly<{
        onSuccess?: ((value: import('./types').UploadFileT) => any) | undefined;
        onProgress?: ((value: import('./types').UploadFileT) => any) | undefined;
        onSelect?: ((value: import('./types').UploadFileT[]) => any) | undefined;
        onChange?: ((value: import('./types').UploadFileT[]) => any) | undefined;
        onError?: ((value: import('./types').UploadFileT) => any) | undefined;
        "onUpdate:modelValue"?: ((value: import('./types').UploadFileT[]) => any) | undefined;
    }>, {
        upload: () => Promise<import('./types').UploadFileT[]> | undefined;
        select: () => Promise<void>;
        retry: (file: import('./types').UploadFileT) => void;
        replace: (file: import('./types').UploadFileT) => void;
        removeByIndex: (index: number) => Promise<boolean> | undefined;
        removeAll: () => Promise<unknown>;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
        success: (value: import('./types').UploadFileT) => any;
        progress: (value: import('./types').UploadFileT) => any;
        select: (value: import('./types').UploadFileT[]) => any;
        change: (value: import('./types').UploadFileT[]) => any;
        error: (value: import('./types').UploadFileT) => any;
        "update:modelValue": (value: import('./types').UploadFileT[]) => any;
    }, import('vue').PublicProps, {
        disabled: boolean;
        multiple: boolean;
        lazyUpload: boolean;
        draggable: boolean;
        listType: "text" | "picture" | "picture-card";
    }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
        selectRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
            accept?: string;
            disabled?: boolean;
        }> & Readonly<{
            onSelected?: ((files: FileList) => any) | undefined;
        }>, {
            select: (multiple: boolean) => void;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
            selected: (files: FileList) => any;
        }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
            multipleInputRef: HTMLInputElement;
            inputRef: HTMLInputElement;
        }, HTMLDivElement, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<{
            accept?: string;
            disabled?: boolean;
        }> & Readonly<{
            onSelected?: ((files: FileList) => any) | undefined;
        }>, {
            select: (multiple: boolean) => void;
        }, {}, {}, {}, {}> | null;
    }, HTMLDivElement, import('vue').ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import('vue').ExtractPropTypes<{
        modelValue: {
            type: import('vue').PropType<import('./types').UploadFileT[]>;
        };
        defaultFileList: {
            type: import('vue').PropType<import('./types').UploadFileT[]>;
        };
        accept: {
            type: StringConstructor;
        };
        disabled: {
            type: BooleanConstructor;
        };
        multiple: {
            type: BooleanConstructor;
        };
        beforeSelect: {
            type: import('vue').PropType<(value: import('./types').UploadFileT[]) => Promise<boolean> | boolean>;
        };
        onAfterSelect: {
            type: import('vue').PropType<(fileList: FileList) => Promise<Array<import('./types').UploadFileT>>>;
        };
        btnLabel: {
            type: StringConstructor;
        };
        uploadRequest: {
            type: import('vue').PropType<(options: import('./types').UploadRequestOptionT) => import('./types').UploadRequestT>;
        };
        lazyUpload: {
            type: BooleanConstructor;
        };
        onBeforeUpload: {
            type: import('vue').PropType<(file: import('./types').UploadFileT) => Promise<boolean | File>>;
        };
        onBeforeRemove: {
            type: import('vue').PropType<(file: import('./types').UploadFileT) => Promise<boolean>>;
        };
        draggable: {
            type: BooleanConstructor;
        };
        dragLabel: {
            type: StringConstructor;
        };
        dragHoverLabel: {
            type: StringConstructor;
        };
        listType: {
            type: import('vue').PropType<"text" | "picture" | "picture-card">;
            default: string;
        };
        createThumbnail: {
            type: import('vue').PropType<(file: File) => Promise<string>>;
        };
    }>> & Readonly<{
        onSuccess?: ((value: import('./types').UploadFileT) => any) | undefined;
        onProgress?: ((value: import('./types').UploadFileT) => any) | undefined;
        onSelect?: ((value: import('./types').UploadFileT[]) => any) | undefined;
        onChange?: ((value: import('./types').UploadFileT[]) => any) | undefined;
        onError?: ((value: import('./types').UploadFileT) => any) | undefined;
        "onUpdate:modelValue"?: ((value: import('./types').UploadFileT[]) => any) | undefined;
    }>, {
        upload: () => Promise<import('./types').UploadFileT[]> | undefined;
        select: () => Promise<void>;
        retry: (file: import('./types').UploadFileT) => void;
        replace: (file: import('./types').UploadFileT) => void;
        removeByIndex: (index: number) => Promise<boolean> | undefined;
        removeAll: () => Promise<unknown>;
    }, {}, {}, {}, {
        disabled: boolean;
        multiple: boolean;
        lazyUpload: boolean;
        draggable: boolean;
        listType: "text" | "picture" | "picture-card";
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
    modelValue: {
        type: import('vue').PropType<import('./types').UploadFileT[]>;
    };
    defaultFileList: {
        type: import('vue').PropType<import('./types').UploadFileT[]>;
    };
    accept: {
        type: StringConstructor;
    };
    disabled: {
        type: BooleanConstructor;
    };
    multiple: {
        type: BooleanConstructor;
    };
    beforeSelect: {
        type: import('vue').PropType<(value: import('./types').UploadFileT[]) => Promise<boolean> | boolean>;
    };
    onAfterSelect: {
        type: import('vue').PropType<(fileList: FileList) => Promise<Array<import('./types').UploadFileT>>>;
    };
    btnLabel: {
        type: StringConstructor;
    };
    uploadRequest: {
        type: import('vue').PropType<(options: import('./types').UploadRequestOptionT) => import('./types').UploadRequestT>;
    };
    lazyUpload: {
        type: BooleanConstructor;
    };
    onBeforeUpload: {
        type: import('vue').PropType<(file: import('./types').UploadFileT) => Promise<boolean | File>>;
    };
    onBeforeRemove: {
        type: import('vue').PropType<(file: import('./types').UploadFileT) => Promise<boolean>>;
    };
    draggable: {
        type: BooleanConstructor;
    };
    dragLabel: {
        type: StringConstructor;
    };
    dragHoverLabel: {
        type: StringConstructor;
    };
    listType: {
        type: import('vue').PropType<"text" | "picture" | "picture-card">;
        default: string;
    };
    createThumbnail: {
        type: import('vue').PropType<(file: File) => Promise<string>>;
    };
}>> & Readonly<{
    onSuccess?: ((value: import('./types').UploadFileT) => any) | undefined;
    onProgress?: ((value: import('./types').UploadFileT) => any) | undefined;
    onSelect?: ((value: import('./types').UploadFileT[]) => any) | undefined;
    onChange?: ((value: import('./types').UploadFileT[]) => any) | undefined;
    onError?: ((value: import('./types').UploadFileT) => any) | undefined;
    "onUpdate:modelValue"?: ((value: import('./types').UploadFileT[]) => any) | undefined;
}>, {
    upload: () => Promise<import('./types').UploadFileT[]> | undefined;
    select: () => Promise<void>;
    retry: (file: import('./types').UploadFileT) => void;
    replace: (file: import('./types').UploadFileT) => void;
    removeByIndex: (index: number) => Promise<boolean> | undefined;
    removeAll: () => Promise<unknown>;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    success: (value: import('./types').UploadFileT) => any;
    progress: (value: import('./types').UploadFileT) => any;
    select: (value: import('./types').UploadFileT[]) => any;
    change: (value: import('./types').UploadFileT[]) => any;
    error: (value: import('./types').UploadFileT) => any;
    "update:modelValue": (value: import('./types').UploadFileT[]) => any;
}, string, {
    disabled: boolean;
    multiple: boolean;
    lazyUpload: boolean;
    draggable: boolean;
    listType: "text" | "picture" | "picture-card";
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
    $slots: any;
}) & {
    install(app: App): void;
};
export { OUpload };
export * from './types';
