import type { PropType, CSSProperties, ExtractPropTypes, StyleValue } from 'vue';
import type { Arrayable } from '../../_utils/types';
export declare const _props: {
    src: {
        type: StringConstructor;
        default: string;
    };
    alt: StringConstructor;
    imgStyle: {
        type: PropType<CSSProperties>;
    };
    class: {
        type: PropType<string | Arrayable<Record<string, boolean>>>;
    };
    style: {
        type: PropType<StyleValue>;
    };
    viewMode: NumberConstructor;
    dragMode: StringConstructor;
    initialAspectRatio: NumberConstructor;
    aspectRatio: NumberConstructor;
    data: ObjectConstructor;
    preview: (StringConstructor | ArrayConstructor | {
        new (): Element;
        prototype: Element;
    } | {
        new (): NodeList;
        prototype: NodeList;
    })[];
    responsive: {
        type: BooleanConstructor;
        default: boolean;
    };
    restore: {
        type: BooleanConstructor;
        default: boolean;
    };
    checkCrossOrigin: {
        type: BooleanConstructor;
        default: boolean;
    };
    checkOrientation: {
        type: BooleanConstructor;
        default: boolean;
    };
    crossorigin: {
        type: StringConstructor;
    };
    modal: {
        type: BooleanConstructor;
        default: boolean;
    };
    guides: {
        type: BooleanConstructor;
        default: boolean;
    };
    center: {
        type: BooleanConstructor;
        default: boolean;
    };
    highlight: {
        type: BooleanConstructor;
        default: boolean;
    };
    background: {
        type: BooleanConstructor;
        default: boolean;
    };
    autoCrop: {
        type: BooleanConstructor;
        default: boolean;
    };
    autoCropArea: NumberConstructor;
    movable: {
        type: BooleanConstructor;
        default: boolean;
    };
    rotatable: {
        type: BooleanConstructor;
        default: boolean;
    };
    scalable: {
        type: BooleanConstructor;
        default: boolean;
    };
    zoomable: {
        type: BooleanConstructor;
        default: boolean;
    };
    zoomOnTouch: {
        type: BooleanConstructor;
        default: boolean;
    };
    zoomOnWheel: {
        type: BooleanConstructor;
        default: boolean;
    };
    wheelZoomRatio: NumberConstructor;
    cropBoxMovable: {
        type: BooleanConstructor;
        default: boolean;
    };
    cropBoxResizable: {
        type: BooleanConstructor;
        default: boolean;
    };
    toggleDragModeOnDblclick: {
        type: BooleanConstructor;
        default: boolean;
    };
    minCanvasWidth: NumberConstructor;
    minCanvasHeight: NumberConstructor;
    minCropBoxWidth: NumberConstructor;
    minCropBoxHeight: NumberConstructor;
    minContainerWidth: NumberConstructor;
    minContainerHeight: NumberConstructor;
    ready: FunctionConstructor;
    cropstart: FunctionConstructor;
    cropmove: FunctionConstructor;
    cropend: FunctionConstructor;
    crop: FunctionConstructor;
    zoom: FunctionConstructor;
};
export type CropperInstance = {
    reset: () => void;
    clear: () => void;
    initCrop: () => void;
    replace: (url: string, onlyColorChanged: boolean) => void;
    enable: () => void;
    disable: () => void;
    destroy: () => void;
    move: (offsetX: number, offsetY: number) => void;
    moveTo: (x: number, y: number) => void;
    relativeZoom: (ratio: number, _originalEvent: Event) => void;
    zoomTo: (ratio: number, _originalEvent: Event) => void;
    rotate: (degree: number) => void;
    rotateTo: (degree: number) => void;
    scaleX: (scaleX: number) => void;
    scaleY: (scaleY: number) => void;
    scale: (scaleX: number, scaleY: number) => void;
    getData: (rounded: boolean) => void;
    setData: (data: object) => void;
    getContainerData: () => void;
    getImageData: () => void;
    getCanvasData: () => void;
    setCanvasData: (data: object) => void;
    getCropBoxData: () => void;
    setCropBoxData: (scaleYdata: object) => void;
    getCroppedCanvas: (options: object) => void;
    setAspectRatio: (aspectRatio: number) => void;
    setDragMode: (mode: string) => void;
};
export type CropperProps = ExtractPropTypes<typeof _props>;
