import type { DataFile, FlipDirection } from './props';
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    crossOrigin: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    crossOriginHeader: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    label: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    isModal: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    lockScroll: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    showChooseBtn: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    boxWidth: {
        type: NumberConstructor;
        default: number;
        required: boolean;
    };
    boxHeight: {
        type: NumberConstructor;
        default: number;
        required: boolean;
    };
    cutWidth: {
        type: NumberConstructor;
        default: number;
        required: boolean;
    };
    cutHeight: {
        type: NumberConstructor;
        default: number;
        required: boolean;
    };
    rate: {
        type: StringConstructor;
        default: null;
        required: boolean;
    };
    tool: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    footer: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    toolBg: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    imgMove: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    sizeChange: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    originalGraph: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    moveAble: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    previewMode: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    watermarkText: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    watermarkTextFont: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    watermarkTextColor: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    watermarkTextX: {
        type: NumberConstructor;
        default: number;
        required: boolean;
    };
    watermarkTextY: {
        type: NumberConstructor;
        default: number;
        required: boolean;
    };
    smallToUpload: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    saveCutPosition: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    scaleAble: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    fileType: {
        type: import("vue").PropType<import("./props").FileType>;
        default: string;
        required: boolean;
    };
    toolBoxOverflow: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    quality: {
        type: NumberConstructor;
        default: number;
        required: boolean;
    };
    isFinishClose: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
}, {
    open: (img?: HTMLImageElement | undefined) => void;
    close: () => void;
    chooseImage: () => void;
    flipDirection: (direction?: FlipDirection) => void;
    resetScale: () => void;
    rotate: (angle: number) => void;
    resetRotate: () => void;
    cropImage: (doNotReset: boolean, callback?: ((dataFile: DataFile) => void) | undefined) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    realTime: (...args: any[]) => void;
    error: (...args: any[]) => void;
    clearAll: (...args: any[]) => void;
    confirm: (...args: any[]) => void;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    crossOrigin: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    crossOriginHeader: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    label: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    isModal: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    lockScroll: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    showChooseBtn: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    boxWidth: {
        type: NumberConstructor;
        default: number;
        required: boolean;
    };
    boxHeight: {
        type: NumberConstructor;
        default: number;
        required: boolean;
    };
    cutWidth: {
        type: NumberConstructor;
        default: number;
        required: boolean;
    };
    cutHeight: {
        type: NumberConstructor;
        default: number;
        required: boolean;
    };
    rate: {
        type: StringConstructor;
        default: null;
        required: boolean;
    };
    tool: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    footer: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    toolBg: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    imgMove: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    sizeChange: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    originalGraph: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    moveAble: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    previewMode: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    watermarkText: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    watermarkTextFont: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    watermarkTextColor: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    watermarkTextX: {
        type: NumberConstructor;
        default: number;
        required: boolean;
    };
    watermarkTextY: {
        type: NumberConstructor;
        default: number;
        required: boolean;
    };
    smallToUpload: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    saveCutPosition: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    scaleAble: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    fileType: {
        type: import("vue").PropType<import("./props").FileType>;
        default: string;
        required: boolean;
    };
    toolBoxOverflow: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
    quality: {
        type: NumberConstructor;
        default: number;
        required: boolean;
    };
    isFinishClose: {
        type: BooleanConstructor;
        default: boolean;
        required: boolean;
    };
}>> & {
    onRealTime?: ((...args: any[]) => any) | undefined;
    onError?: ((...args: any[]) => any) | undefined;
    onClearAll?: ((...args: any[]) => any) | undefined;
    onConfirm?: ((...args: any[]) => any) | undefined;
}, {
    crossOrigin: boolean;
    crossOriginHeader: string;
    label: string;
    isModal: boolean;
    lockScroll: boolean;
    showChooseBtn: boolean;
    boxWidth: number;
    boxHeight: number;
    cutWidth: number;
    cutHeight: number;
    rate: string;
    tool: boolean;
    footer: boolean;
    toolBg: string;
    imgMove: boolean;
    sizeChange: boolean;
    originalGraph: boolean;
    moveAble: boolean;
    previewMode: boolean;
    watermarkText: string;
    watermarkTextFont: string;
    watermarkTextColor: string;
    watermarkTextX: number;
    watermarkTextY: number;
    smallToUpload: boolean;
    saveCutPosition: boolean;
    scaleAble: boolean;
    fileType: import("./props").FileType;
    toolBoxOverflow: boolean;
    quality: number;
    isFinishClose: boolean;
}, {}>, {
    open?(_: {}): any;
    ratio?(_: {}): any;
    scale?(_: {}): any;
    rotateLeft?(_: {}): any;
    rotateRight?(_: {}): any;
    resetRotate?(_: {}): any;
    flipHorizontal?(_: {}): any;
    flipVertically?(_: {}): any;
    footer?(_: {}): any;
    choose?(_: {}): any;
    cancel?(_: {}): any;
    confirm?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
