import { type CSSProperties } from 'vue';
import Cropper from 'cropperjs';
import { type CropendResult } from './cropper-image';
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    readonly src: {
        readonly type: import("vue").PropType<string>;
        readonly required: true;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly alt: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly circled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly loading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly realTimePreview: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    readonly height: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "360px", boolean>;
    readonly crossorigin: {
        readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<import("vue").PropType<"" | "anonymous" | "use-credentials">, unknown, unknown>>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly imageStyle: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<CSSProperties>, unknown, unknown, () => {}, boolean>;
    readonly options: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<Cropper.Options<EventTarget>>, unknown, unknown, () => {}, boolean>;
}>, {
    props: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
        readonly src: {
            readonly type: import("vue").PropType<string>;
            readonly required: true;
            readonly validator: (val: unknown) => boolean;
            __epPropKey: true;
        };
        readonly alt: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: (val: unknown) => boolean;
            __epPropKey: true;
        };
        readonly circled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
        readonly loading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
        readonly realTimePreview: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        readonly height: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "360px", boolean>;
        readonly crossorigin: {
            readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<import("vue").PropType<"" | "anonymous" | "use-credentials">, unknown, unknown>>;
            readonly required: false;
            readonly validator: (val: unknown) => boolean;
            __epPropKey: true;
        };
        readonly imageStyle: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<CSSProperties>, unknown, unknown, () => {}, boolean>;
        readonly options: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<Cropper.Options<EventTarget>>, unknown, unknown, () => {}, boolean>;
    }>> & Readonly<{
        onCropend?: (params: CropendResult) => any;
        onOnReady?: (cropper: Cropper) => any;
        onCropendError?: () => any;
    }> & {}>;
    emits: ((event: "cropend", params: CropendResult) => void) & ((event: "onReady", cropper: Cropper) => void) & ((event: "cropendError") => void);
    bem: {
        b: (blockSuffix?: string) => string;
        e: (element?: string) => string;
        m: (modifier?: string) => string;
        be: (blockSuffix?: string, element?: string) => string;
        em: (element: string, modifier: string) => string;
        bm: (blockSuffix: string, modifier: string) => string;
        bem: (blockSuffix: string, element: string, modifier: string) => string;
        is: (name?: string) => string;
    };
    imgElRef: import("vue").Ref<HTMLImageElement, HTMLImageElement>;
    cropper: import("vue").Ref<Cropper, Cropper>;
    isReady: import("vue").Ref<boolean, boolean>;
    loading: import("vue").Ref<import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>, import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>>;
    getImageStyle: import("vue").ComputedRef<CSSProperties>;
    getWrapperStyle: import("vue").ComputedRef<CSSProperties>;
    init: () => Promise<void>;
    realTimeCroppered: () => void;
    debounceRealTimeCroppered: import("@vueuse/shared").PromisifyFn<() => void>;
    croppered: () => void;
    getRoundedCanvas: () => HTMLCanvasElement;
    handleLoading: () => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    readonly cropend: (params: CropendResult) => boolean;
    readonly onReady: (cropper: Cropper) => boolean;
    readonly cropendError: () => boolean;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    readonly src: {
        readonly type: import("vue").PropType<string>;
        readonly required: true;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly alt: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly circled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly loading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly realTimePreview: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    readonly height: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "360px", boolean>;
    readonly crossorigin: {
        readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<import("vue").PropType<"" | "anonymous" | "use-credentials">, unknown, unknown>>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly imageStyle: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<CSSProperties>, unknown, unknown, () => {}, boolean>;
    readonly options: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<Cropper.Options<EventTarget>>, unknown, unknown, () => {}, boolean>;
}>> & Readonly<{
    onCropend?: (params: CropendResult) => any;
    onOnReady?: (cropper: Cropper) => any;
    onCropendError?: () => any;
}>, {
    readonly options: Cropper.Options<EventTarget>;
    readonly height: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
    readonly loading: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
    readonly imageStyle: CSSProperties;
    readonly circled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
    readonly realTimePreview: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
