import { PropType } from '@vue/composition-api';
import { UploadDragEvents } from '../hooks/useDrag';
import { CommonDisplayFileProps } from '../interface';
import { TdUploadProps } from '../type';
export interface CustomFileProps extends CommonDisplayFileProps {
    dragEvents: UploadDragEvents;
    draggable?: boolean;
    dragContent?: TdUploadProps['dragContent'];
    trigger?: TdUploadProps['trigger'];
    triggerUpload?: (e: MouseEvent) => void;
    childrenNode?: any;
}
declare const _default: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    target: any;
    dragActive: import("@vue/composition-api").Ref<boolean>;
    handleDrop: (event: DragEvent) => void;
    handleDragenter: (event: DragEvent) => void;
    handleDragleave: (event: DragEvent) => void;
    handleDragover: (event: DragEvent) => void;
}> & import("@vue/composition-api").Data, {}, {}, {
    dragEvents: PropType<UploadDragEvents>;
    draggable: BooleanConstructor;
    dragContent: PropType<((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: import("../type").TriggerContext) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    trigger: PropType<(h: import("vue").CreateElement, props: import("../type").TriggerContext) => import("vue/types/vnode").ScopedSlotReturnValue>;
    triggerUpload: PropType<(e: MouseEvent) => void>;
    childrenNode: PropType<any>;
    accept: StringConstructor;
    files: import("vue").PropType<import("../type").UploadFile[]>;
    toUploadFiles: import("vue").PropType<import("../type").UploadFile[]>;
    displayFiles: import("vue").PropType<import("../type").UploadFile[]>;
    theme: import("vue").PropType<"file" | "custom" | "image" | "file-input" | "file-flow" | "image-flow">;
    abridgeName: import("vue").PropType<number[]>;
    placeholder: StringConstructor;
    classPrefix: StringConstructor;
    tips: (FunctionConstructor | StringConstructor)[];
    status: import("vue").PropType<"error" | "default" | "success" | "warning">;
    locale: import("vue").PropType<import("../..").UploadConfig>;
    sizeOverLimitMessage: StringConstructor;
    autoUpload: BooleanConstructor;
    disabled: BooleanConstructor;
    uploading: BooleanConstructor;
    tipsClasses: import("vue").PropType<string>;
    errorClasses: import("vue").PropType<string[]>;
    placeholderClass: import("vue").PropType<string>;
    showUploadProgress: BooleanConstructor;
    default: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    fileListDisplay: import("vue").PropType<(h: import("vue").CreateElement, props: {
        files: import("../type").UploadFile[];
        dragEvents?: import("../..").UploadDisplayDragEvents;
    }) => import("vue/types/vnode").ScopedSlotReturnValue>;
    onRemove: import("vue").PropType<(p: import("../type").UploadRemoveContext) => void>;
    imageViewerProps: import("vue").PropType<import("../..").TdImageViewerProps>;
}, import("@vue/composition-api").ExtractPropTypes<{
    dragEvents: PropType<UploadDragEvents>;
    draggable: BooleanConstructor;
    dragContent: PropType<((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: import("../type").TriggerContext) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    trigger: PropType<(h: import("vue").CreateElement, props: import("../type").TriggerContext) => import("vue/types/vnode").ScopedSlotReturnValue>;
    triggerUpload: PropType<(e: MouseEvent) => void>;
    childrenNode: PropType<any>;
    accept: StringConstructor;
    files: import("vue").PropType<import("../type").UploadFile[]>;
    toUploadFiles: import("vue").PropType<import("../type").UploadFile[]>;
    displayFiles: import("vue").PropType<import("../type").UploadFile[]>;
    theme: import("vue").PropType<"file" | "custom" | "image" | "file-input" | "file-flow" | "image-flow">;
    abridgeName: import("vue").PropType<number[]>;
    placeholder: StringConstructor;
    classPrefix: StringConstructor;
    tips: (FunctionConstructor | StringConstructor)[];
    status: import("vue").PropType<"error" | "default" | "success" | "warning">;
    locale: import("vue").PropType<import("../..").UploadConfig>;
    sizeOverLimitMessage: StringConstructor;
    autoUpload: BooleanConstructor;
    disabled: BooleanConstructor;
    uploading: BooleanConstructor;
    tipsClasses: import("vue").PropType<string>;
    errorClasses: import("vue").PropType<string[]>;
    placeholderClass: import("vue").PropType<string>;
    showUploadProgress: BooleanConstructor;
    default: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    fileListDisplay: import("vue").PropType<(h: import("vue").CreateElement, props: {
        files: import("../type").UploadFile[];
        dragEvents?: import("../..").UploadDisplayDragEvents;
    }) => import("vue/types/vnode").ScopedSlotReturnValue>;
    onRemove: import("vue").PropType<(p: import("../type").UploadRemoveContext) => void>;
    imageViewerProps: import("vue").PropType<import("../..").TdImageViewerProps>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    draggable: boolean;
    disabled: boolean;
    autoUpload: boolean;
    uploading: boolean;
    showUploadProgress: boolean;
} & {
    default?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    status?: "error" | "default" | "success" | "warning";
    classPrefix?: string;
    theme?: "file" | "custom" | "image" | "file-input" | "file-flow" | "image-flow";
    tips?: string;
    trigger?: (h: import("vue").CreateElement, props: import("../type").TriggerContext) => import("vue/types/vnode").ScopedSlotReturnValue;
    errorClasses?: string[];
    placeholder?: string;
    onRemove?: (p: import("../type").UploadRemoveContext) => void;
    locale?: unknown;
    files?: import("../type").UploadFile[];
    abridgeName?: number[];
    dragContent?: ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: import("../type").TriggerContext) => import("vue/types/vnode").ScopedSlotReturnValue) | ((((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: import("../type").TriggerContext) => import("vue/types/vnode").ScopedSlotReturnValue)) & object);
    fileListDisplay?: (h: import("vue").CreateElement, props: {
        files: import("../type").UploadFile[];
        dragEvents?: import("../..").UploadDisplayDragEvents;
    }) => import("vue/types/vnode").ScopedSlotReturnValue;
    imageViewerProps?: unknown;
    toUploadFiles?: import("../type").UploadFile[];
    displayFiles?: import("../type").UploadFile[];
    tipsClasses?: string;
    placeholderClass?: string;
    accept?: string;
    sizeOverLimitMessage?: string;
    triggerUpload?: (e: MouseEvent) => void;
    dragEvents?: unknown;
    childrenNode?: unknown;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    target: any;
    dragActive: import("@vue/composition-api").Ref<boolean>;
    handleDrop: (event: DragEvent) => void;
    handleDragenter: (event: DragEvent) => void;
    handleDragleave: (event: DragEvent) => void;
    handleDragover: (event: DragEvent) => void;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
    draggable: boolean;
    disabled: boolean;
    autoUpload: boolean;
    uploading: boolean;
    showUploadProgress: boolean;
} & {
    default?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    status?: "error" | "default" | "success" | "warning";
    classPrefix?: string;
    theme?: "file" | "custom" | "image" | "file-input" | "file-flow" | "image-flow";
    tips?: string;
    trigger?: (h: import("vue").CreateElement, props: import("../type").TriggerContext) => import("vue/types/vnode").ScopedSlotReturnValue;
    errorClasses?: string[];
    placeholder?: string;
    onRemove?: (p: import("../type").UploadRemoveContext) => void;
    locale?: unknown;
    files?: import("../type").UploadFile[];
    abridgeName?: number[];
    dragContent?: ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: import("../type").TriggerContext) => import("vue/types/vnode").ScopedSlotReturnValue) | ((((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: import("../type").TriggerContext) => import("vue/types/vnode").ScopedSlotReturnValue)) & object);
    fileListDisplay?: (h: import("vue").CreateElement, props: {
        files: import("../type").UploadFile[];
        dragEvents?: import("../..").UploadDisplayDragEvents;
    }) => import("vue/types/vnode").ScopedSlotReturnValue;
    imageViewerProps?: unknown;
    toUploadFiles?: import("../type").UploadFile[];
    displayFiles?: import("../type").UploadFile[];
    tipsClasses?: string;
    placeholderClass?: string;
    accept?: string;
    sizeOverLimitMessage?: string;
    triggerUpload?: (e: MouseEvent) => void;
    dragEvents?: unknown;
    childrenNode?: unknown;
}, {
    draggable: boolean;
    disabled: boolean;
    autoUpload: boolean;
    uploading: boolean;
    showUploadProgress: boolean;
}, true>);
export default _default;
