import { EventEmitter } from "../../stencil-public-runtime";
export type CropperSizeOption = {
    label: string;
    width: number;
    height: number;
};
export type CropperOptions = {
    source: string | File;
    sizes?: Array<CropperSizeOption>;
};
export declare class XCropper {
    /**
     * Modal instance element
     */
    private modal;
    /**
     * Cropper editor element
     */
    private editor;
    /**
     * Cropper image preview element
     */
    private preview;
    /**
     * Cropper container element
     */
    private container;
    /**
     * Cropper instance
     */
    private cropper;
    /**
     * Cropper image instance
     */
    private image;
    /**
     * Cropper selection instance
     */
    private selection;
    /**
     * Cropper loading state
     */
    isLoading: boolean;
    /**
     * Cropper lshow the preview confirmation
     */
    isActivePreview: boolean;
    /**
     * Cropper sizes
     */
    sizes: Array<CropperSizeOption>;
    /**
     * Cropper active size
     */
    activeSize: CropperSizeOption;
    /**
     * On cropped result image event
     */
    onCropped: EventEmitter<HTMLCanvasElement>;
    /**
     * On cropped result image event
     */
    onClose: EventEmitter;
    /**
     * Call the cropper window
     */
    load(options: CropperOptions): Promise<void>;
    /**
     * On component loaded action
     */
    componentDidLoad(): void;
    /**
     * Prepare the image to cropper by source type
     */
    loadImage(source: string | File): void;
    resizeEditor(): void;
    onReject(): void;
    /**
     * Show the confirmation window before dispatch success event
     */
    onConfirm(): void;
    onSetSize(size: CropperSizeOption): void;
    /**
     * Render component
     */
    render(): any;
}
