import { Size } from '../../primitives/size';
import { DrawingElement } from './drawing-element';
import { Stretch, Scale, ImageAlignment } from '../../enum/enum';
/**
 * @hidden
 * ImageElement defines a basic image elements
 */
export declare class ImageElement extends DrawingElement {
    /**
     * set the id for each element
     */
    constructor();
    /**
     * sets or gets the image source
     */
    private imageSource;
    /**
     * sets or gets the print id
     *
     * @private
     */
    printID: string;
    /**
     * Arranges the element
     *
     * @private
     * @returns {string} - string
     */
    /**
    * Sets the source for the image element
    *
    * @param {string} value - value
    * @private
    */
    source: string;
    /**
     * sets scaling factor of the image
     */
    imageScale: Scale;
    /**
     * sets the alignment of the image
     */
    imageAlign: ImageAlignment;
    /**
     * Sets how to stretch the image
     */
    stretch: Stretch;
    /**
     * Saves the actual size of the image
     */
    contentSize: Size;
    /**
     * Measures minimum space that is required to render the image
     *
     * @param {Size} availableSize - availableSize
     * @private
     * @returns {Size} - Size
     */
    measure(availableSize: Size): Size;
    /**
     * Arranges the image
     *
     * @param {Size} desiredSize - desiredSize
     * @private
     * @returns {Size} - Size
     */
    arrange(desiredSize: Size): Size;
}
