import type { PropType } from 'vue';
import { h } from 'vue';
import type { TdUploadProps, UploadFile } from '../type';
import type { CommonDisplayFileProps } from '../interface';
import type { UploadDragEvents } from '../hooks/useDrag';
import type { UploadConfig } from '../../config-provider';
export interface DraggerProps extends CommonDisplayFileProps {
    trigger?: TdUploadProps['trigger'];
    triggerUpload?: (e: MouseEvent) => void;
    uploadFiles?: (toFiles?: UploadFile[]) => void;
    cancelUpload?: (context: {
        e: MouseEvent;
        file: UploadFile;
    }) => void;
    dragEvents: UploadDragEvents;
}
declare const _default: import("vue").DefineComponent<{
    trigger: PropType<(h: typeof h, props: import("../type").TriggerContext) => import("../..").SlotReturnValue>;
    triggerUpload: PropType<(e: MouseEvent) => void>;
    uploadFiles: PropType<(toFiles?: UploadFile[]) => void>;
    cancelUpload: PropType<(context: {
        e: MouseEvent;
        file: UploadFile;
    }) => void>;
    dragEvents: PropType<UploadDragEvents>;
    files: PropType<UploadFile[]>;
    toUploadFiles: PropType<UploadFile[]>;
    displayFiles: PropType<UploadFile[]>;
    theme: PropType<"file" | "custom" | "image" | "file-input" | "file-flow" | "image-flow">;
    abridgeName: PropType<number[]>;
    placeholder: StringConstructor;
    classPrefix: StringConstructor;
    tips: (FunctionConstructor | StringConstructor)[];
    status: PropType<"error" | "default" | "success" | "warning">;
    locale: PropType<UploadConfig>;
    sizeOverLimitMessage: StringConstructor;
    autoUpload: BooleanConstructor;
    disabled: BooleanConstructor;
    uploading: BooleanConstructor;
    tipsClasses: PropType<string>;
    errorClasses: PropType<string[]>;
    placeholderClass: PropType<string>;
    showUploadProgress: BooleanConstructor;
    default: PropType<(h: typeof h) => import("../..").SlotReturnValue>;
    fileListDisplay: PropType<(h: typeof h, props: {
        files: UploadFile[];
        dragEvents?: import("../..").UploadDisplayDragEvents;
    }) => import("../..").SlotReturnValue>;
    onRemove: PropType<(p: import("../type").UploadRemoveContext) => void>;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    trigger: PropType<(h: typeof h, props: import("../type").TriggerContext) => import("../..").SlotReturnValue>;
    triggerUpload: PropType<(e: MouseEvent) => void>;
    uploadFiles: PropType<(toFiles?: UploadFile[]) => void>;
    cancelUpload: PropType<(context: {
        e: MouseEvent;
        file: UploadFile;
    }) => void>;
    dragEvents: PropType<UploadDragEvents>;
    files: PropType<UploadFile[]>;
    toUploadFiles: PropType<UploadFile[]>;
    displayFiles: PropType<UploadFile[]>;
    theme: PropType<"file" | "custom" | "image" | "file-input" | "file-flow" | "image-flow">;
    abridgeName: PropType<number[]>;
    placeholder: StringConstructor;
    classPrefix: StringConstructor;
    tips: (FunctionConstructor | StringConstructor)[];
    status: PropType<"error" | "default" | "success" | "warning">;
    locale: PropType<UploadConfig>;
    sizeOverLimitMessage: StringConstructor;
    autoUpload: BooleanConstructor;
    disabled: BooleanConstructor;
    uploading: BooleanConstructor;
    tipsClasses: PropType<string>;
    errorClasses: PropType<string[]>;
    placeholderClass: PropType<string>;
    showUploadProgress: BooleanConstructor;
    default: PropType<(h: typeof h) => import("../..").SlotReturnValue>;
    fileListDisplay: PropType<(h: typeof h, props: {
        files: UploadFile[];
        dragEvents?: import("../..").UploadDisplayDragEvents;
    }) => import("../..").SlotReturnValue>;
    onRemove: PropType<(p: import("../type").UploadRemoveContext) => void>;
}>>, {
    disabled: boolean;
    autoUpload: boolean;
    uploading: boolean;
    showUploadProgress: boolean;
}>;
export default _default;
