import { type UploadProps, type UploadSlots, type UploadFile, type UploadFileItem } from './common';
declare function __VLS_template(): Readonly<UploadSlots> & UploadSlots;
declare const __VLS_component: import("vue").DefineComponent<UploadProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
    "update:model-value": (value: UploadFileItem[]) => any;
    change: (value: UploadFileItem[]) => any;
    remove: (index: number, item: UploadFileItem) => any;
}, string, import("vue").PublicProps, Readonly<UploadProps> & Readonly<{
    "onUpdate:model-value"?: ((value: UploadFileItem[]) => any) | undefined;
    onChange?: ((value: UploadFileItem[]) => any) | undefined;
    onRemove?: ((index: number, item: UploadFileItem) => any) | undefined;
}>, {
    accept: "image" | "video";
    validateEvent: boolean;
    maxDuration: number;
    maxCount: number;
    maxSize: number | ((file: UploadFile) => boolean);
    removable: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
