import { Observable } from 'rxjs/Observable';
export declare class ImageCropperExifService {
    private invalidImageFormatProvided;
    /**
     * Check the image orientation from the EXIF data associated with the image.
     * If necessary, rotate and flip the image based on the orientation parameter.
     *
     * @param image Original image provided by the user
     * @param originalFileType File type of the image that was provided
     *
     * @returns An Observable containing either the original image if the orientation
     *          value is 1 or the modified image if the orientation is not 1.
     */
    getOrientedImage(image: HTMLImageElement | Blob | File | ArrayBuffer | string, originalFileType: string): Observable<HTMLImageElement>;
    /**
     * Determine the parameters to use for the destination canvas so that images
     * are not rotated horizontally when taking a photo on a mobile device.
     *
     * @param imageOrientation The orientation of the image as extracted from the EXIF data
     * @param width Original width of the provided image
     * @param height Original height of the provided image
     *
     * @return Canvas destination values
     */
    private destinationParameters(imageOrientation, width, height);
    /**
     * Check the image orientation and modify the image if necessary
     *
     * @param destinationParameters Parameters to use for the new image. i.e. height, width, rotation, etc.
     * @param image The image to be modified
     * @param originalFileType File type of the image that was provided
     *
     * @returns A new Image that has been rotated so that it appears in portait mode rather than landscape
     */
    private modifyImage(destinationParameters, image, fileType);
}
