import { UploadResult } from '@bluepic/types';
import { round } from '../../util/round';
declare const _sfc_main: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    width: {
        type: NumberConstructor;
        required: true;
    };
    height: {
        type: NumberConstructor;
        required: true;
    };
    quality: {
        type: NumberConstructor;
        required: true;
    };
    convertTo: {
        type: StringConstructor;
        required: false;
    };
    field: {
        type: null;
        required: false;
    };
    handleUpload: {
        type: FunctionConstructor;
        required: true;
    };
}>, {
    props: any;
    emit: (event: "upload", ...args: any[]) => void;
    uploadFiles: (files: File[]) => Promise<UploadResult[]>;
    uploadProgresses: import("vue").Ref<number[], number[]>;
    uploading: import("vue").Ref<boolean, boolean>;
    totalProgress: import("vue").ComputedRef<number | undefined>;
    handleSelect: (files: File[]) => Promise<void>;
    BxUpload: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        type: {
            type: StringConstructor;
            required: true;
        };
        accept: {
            type: ArrayConstructor;
            required: false;
            default: () => string[];
        };
        title: {
            type: StringConstructor;
            required: false;
            default: string;
        };
        description: {
            type: StringConstructor;
            required: false;
            default: string;
        };
        uploadProgress: {
            type: NumberConstructor;
            required: false;
        };
        maxSize: {
            type: NumberConstructor;
            required: false;
            default: number;
        };
    }>, {
        props: any;
        emit: (event: "select", ...args: any[]) => void;
        slots: Readonly<{
            [name: string]: import("vue").Slot<any> | undefined;
        }>;
        fileCanBeDropped: (event: DragEvent) => boolean;
        dragging: import("vue").Ref<boolean, boolean>;
        handleDragstart: (event: DragEvent) => void;
        handleDragenter: (event: DragEvent) => void;
        handleDragover: (event: DragEvent) => void;
        handleDragleave: (event: DragEvent) => void;
        handleDrop: (event: DragEvent) => Promise<void>;
        triggerUploadDialog: () => Promise<void>;
        readFileAsBlob: (file: File) => Promise<import("../BxUpload.vue").BxFile>;
        BxButton: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            size: {
                type: StringConstructor;
                required: false;
                default: string;
            };
            round: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            circle: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            secondary: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            primary: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            tertiary: {
                type: BooleanConstructor;
                required: false;
            };
            quarternary: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            disabled: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            state: {
                type: StringConstructor;
                required: false;
                default: string;
            };
            centered: {
                type: BooleanConstructor;
                required: false;
            };
            tag: {
                type: StringConstructor;
                required: false;
                default: string;
            };
            loading: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
        }>, {
            props: any;
            slots: Readonly<{
                [name: string]: import("vue").Slot<any> | undefined;
            }>;
            BxSpin: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
                size: {
                    type: StringConstructor;
                    required: false;
                    default: string;
                };
            }>, {
                props: any;
            }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
                size: {
                    type: StringConstructor;
                    required: false;
                    default: string;
                };
            }>> & Readonly<{}>, {
                size: string;
            }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            size: {
                type: StringConstructor;
                required: false;
                default: string;
            };
            round: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            circle: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            secondary: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            primary: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            tertiary: {
                type: BooleanConstructor;
                required: false;
            };
            quarternary: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            disabled: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            state: {
                type: StringConstructor;
                required: false;
                default: string;
            };
            centered: {
                type: BooleanConstructor;
                required: false;
            };
            tag: {
                type: StringConstructor;
                required: false;
                default: string;
            };
            loading: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
        }>> & Readonly<{}>, {
            size: string;
            round: boolean;
            circle: boolean;
            secondary: boolean;
            primary: boolean;
            tertiary: boolean;
            quarternary: boolean;
            disabled: boolean;
            state: string;
            centered: boolean;
            tag: string;
            loading: boolean;
        }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        readonly ArchiveOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        readonly round: typeof round;
        BxProgress: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            value: {
                type: NumberConstructor;
                required: false;
            };
            circle: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            transition: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
        }>, {
            props: any;
            calculateArcPath: (xPercent: number, radius: number, centerX?: number, centerY?: number) => string;
            progressPath: import("vue").ComputedRef<string>;
        }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            value: {
                type: NumberConstructor;
                required: false;
            };
            circle: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            transition: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
        }>> & Readonly<{}>, {
            circle: boolean;
            transition: boolean;
        }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "select"[], "select", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        type: {
            type: StringConstructor;
            required: true;
        };
        accept: {
            type: ArrayConstructor;
            required: false;
            default: () => string[];
        };
        title: {
            type: StringConstructor;
            required: false;
            default: string;
        };
        description: {
            type: StringConstructor;
            required: false;
            default: string;
        };
        uploadProgress: {
            type: NumberConstructor;
            required: false;
        };
        maxSize: {
            type: NumberConstructor;
            required: false;
            default: number;
        };
    }>> & Readonly<{
        onSelect?: ((...args: any[]) => any) | undefined;
    }>, {
        title: string;
        description: string;
        accept: unknown[];
        maxSize: number;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    BxProgress: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        value: {
            type: NumberConstructor;
            required: false;
        };
        circle: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        transition: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
    }>, {
        props: any;
        calculateArcPath: (xPercent: number, radius: number, centerX?: number, centerY?: number) => string;
        progressPath: import("vue").ComputedRef<string>;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        value: {
            type: NumberConstructor;
            required: false;
        };
        circle: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        transition: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
    }>> & Readonly<{}>, {
        circle: boolean;
        transition: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "upload"[], "upload", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    width: {
        type: NumberConstructor;
        required: true;
    };
    height: {
        type: NumberConstructor;
        required: true;
    };
    quality: {
        type: NumberConstructor;
        required: true;
    };
    convertTo: {
        type: StringConstructor;
        required: false;
    };
    field: {
        type: null;
        required: false;
    };
    handleUpload: {
        type: FunctionConstructor;
        required: true;
    };
}>> & Readonly<{
    onUpload?: ((...args: any[]) => any) | undefined;
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _sfc_main;
//# sourceMappingURL=Upload.vue.d.ts.map