import { PropType } from 'vue';
import { EThemes, UploadFile } from './upload.type';
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    theme: {
        type: PropType<import("./upload.type").Theme>;
        default: import("./upload.type").Theme;
        validator: (val: EThemes) => boolean;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    accept: {
        type: StringConstructor;
    };
    file: {
        type: PropType<UploadFile>;
    };
    selectChange: {
        type: PropType<(event: Event) => boolean | void>;
    };
    isShowPreview: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "remove" | "preview")[], "change" | "remove" | "preview", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    theme: {
        type: PropType<import("./upload.type").Theme>;
        default: import("./upload.type").Theme;
        validator: (val: EThemes) => boolean;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    accept: {
        type: StringConstructor;
    };
    file: {
        type: PropType<UploadFile>;
    };
    selectChange: {
        type: PropType<(event: Event) => boolean | void>;
    };
    isShowPreview: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{
    onChange?: (...args: any[]) => any;
    onRemove?: (...args: any[]) => any;
    onPreview?: (...args: any[]) => any;
}>, {
    multiple: boolean;
    disabled: boolean;
    theme: "button" | "picture" | "draggable";
    isShowPreview: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
