import { IWebComponentInstance } from "../../../..";
import "../../ImageTransformer.css";
import { OmniaTheming, VueComponentBase } from "../../..";
import { ImageTransformerLocalization } from "../../loc/localize";
import { MediaPickerImageRatio, MediaPickerRenditionData, ImageCropzoneRect, MediaPickerCropTransformation, MediaPickerRollupImageRatio, MediaPickerBase64Image } from "../../../../models";
import { MultilingualStore, MediaPickerStore } from "../../../../stores";
import { MediaPickerService } from "../../../../services";
export interface ImageRollupProps {
    sourceImage: MediaPickerBase64Image;
    sourceRenditionData?: Array<MediaPickerRenditionData>;
    rollupRatios: Array<MediaPickerRollupImageRatio>;
    renditionDataChangedCallback?: (result: Array<MediaPickerRenditionData>) => void;
    shareableRenditions?: Array<MediaPickerCropTransformation>;
    selectedRenditionId?: {
        value: number;
    };
    isShowWarningDialog?: {
        value: boolean;
    };
}
export declare class ImageRollup extends VueComponentBase<ImageRollupProps> implements IWebComponentInstance, ImageRollupProps {
    sourceImage: MediaPickerBase64Image;
    sourceRenditionData?: Array<MediaPickerRenditionData>;
    rollupRatios: Array<MediaPickerRollupImageRatio>;
    renditionDataChangedCallback?: (result: Array<MediaPickerRenditionData>) => void;
    shareableRenditions: Array<MediaPickerCropTransformation>;
    selectedRenditionId: {
        value: number;
    };
    isShowWarningDialog: {
        value: boolean;
    };
    omniaTheming: OmniaTheming;
    multilingualStore: MultilingualStore;
    loc: ImageTransformerLocalization.locInterface;
    mediaPickerStore: MediaPickerStore;
    mediaPickerService: MediaPickerService;
    private editorInstance;
    private selectedRatio;
    private selectedRendition;
    private editorId;
    private maxImageHeight;
    private maxImageWidth;
    private availableImageRatios;
    private sourceImageInformation;
    private isLoading;
    private editingRenditionData?;
    sourceImageChanged(newValue: string, oldValue: string): void;
    shareableRenditionsChanged(): void;
    mounted(): void;
    beforeDestroy(): void;
    removeEditor(): void;
    init(): void;
    initImageEditor(): void;
    resizeCanvasDimension(): Promise<void>;
    ensureImageRenditionData(): void;
    onInitCropperEvent(): void;
    loadImage(): void;
    setSelectedImageRatio(imageRatio: MediaPickerImageRatio): void;
    setImageRenditionDataProps(cropRect: ImageCropzoneRect, imageRenditionData: MediaPickerRenditionData): void;
    updateCurrentRenditionData(cropRect: ImageCropzoneRect): void;
    updateRenditionDataChange(): void;
    saveCropState(rendition: MediaPickerRenditionData): void;
    getCropState(ratioId: number): MediaPickerCropTransformation;
    render(): VueTsxSupport.JSX.Element;
}
