import { PropType } from 'vue';
import type { DropzoneFile, DropzoneFileView } from '../../../../types/form/fields/dropzone';
declare const _sfc_main: import("vue").DefineComponent<{
    modelValue: {
        type: PropType<DropzoneFile>;
        required: true;
    };
    draggable: {
        type: BooleanConstructor;
        default: boolean;
    };
    removable: {
        type: BooleanConstructor;
        default: boolean;
    };
}, {
    file: import("vue").Ref<{
        value: string | number | {
            readonly lastModified: number;
            readonly name: string;
            readonly webkitRelativePath: string;
            readonly size: number;
            readonly type: string;
            arrayBuffer: () => Promise<ArrayBuffer>;
            slice: (start?: number | undefined, end?: number | undefined, contentType?: string | undefined) => Blob;
            stream: () => ReadableStream<Uint8Array>;
            text: () => Promise<string>;
        };
        file?: {
            readonly lastModified: number;
            readonly name: string;
            readonly webkitRelativePath: string;
            readonly size: number;
            readonly type: string;
            arrayBuffer: () => Promise<ArrayBuffer>;
            slice: (start?: number | undefined, end?: number | undefined, contentType?: string | undefined) => Blob;
            stream: () => ReadableStream<Uint8Array>;
            text: () => Promise<string>;
        } | null | undefined;
        size?: number | undefined;
        loading?: boolean | undefined;
        view: {
            then: <TResult1 = DropzoneFileView, TResult2 = never>(onfulfilled?: ((value: DropzoneFileView) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined) => Promise<TResult1 | TResult2>;
            catch: <TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null | undefined) => Promise<DropzoneFileView | TResult>;
            finally: (onfinally?: (() => void) | null | undefined) => Promise<DropzoneFileView>;
            readonly [Symbol.toStringTag]: string;
        };
        key?: string | number | undefined;
        upload?: {
            then: <TResult1_1 = DropzoneFile | null, TResult2_1 = never>(onfulfilled?: ((value: DropzoneFile | null) => TResult1_1 | PromiseLike<TResult1_1>) | null | undefined, onrejected?: ((reason: any) => TResult2_1 | PromiseLike<TResult2_1>) | null | undefined) => Promise<TResult1_1 | TResult2_1>;
            catch: <TResult_1 = never>(onrejected?: ((reason: any) => TResult_1 | PromiseLike<TResult_1>) | null | undefined) => Promise<DropzoneFile | TResult_1 | null>;
            finally: (onfinally?: (() => void) | null | undefined) => Promise<DropzoneFile | null>;
            readonly [Symbol.toStringTag]: string;
        } | undefined;
    }>;
    view: import("vue").Ref<{
        type: import('../../../../types/form/fields/dropzone').DropzoneFileType;
        src?: string | undefined;
        caption?: string | undefined;
    } | null>;
    err: import("vue").Ref<boolean>;
    loading: import("vue").ComputedRef<boolean | undefined>;
    xIcon: import("vue").ShallowRef<string>;
    getMegabytes: (size: number) => string;
    emitDrag: (name: 'dragstart' | 'dragend' | 'dragover' | 'drop', event: DragEvent) => void;
    remove: () => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "remove" | "dragend" | "dragover" | "dragstart" | "drop")[], "change" | "remove" | "dragend" | "dragover" | "dragstart" | "drop", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    modelValue: {
        type: PropType<DropzoneFile>;
        required: true;
    };
    draggable: {
        type: BooleanConstructor;
        default: boolean;
    };
    removable: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & {
    onChange?: ((...args: any[]) => any) | undefined;
    onRemove?: ((...args: any[]) => any) | undefined;
    onDragend?: ((...args: any[]) => any) | undefined;
    onDragover?: ((...args: any[]) => any) | undefined;
    onDragstart?: ((...args: any[]) => any) | undefined;
    onDrop?: ((...args: any[]) => any) | undefined;
}, {
    draggable: boolean;
    removable: boolean;
}, {}>;
export default _sfc_main;
