import { OnInit, ElementRef } from '@angular/core';
import { CfCoreComponent } from '../core/core.component';
import { ImageModel } from '../../models/image/image.model';
import { ImageStylingModel } from '../../models/image/image-styling.model';
import { TemplateService } from '../../services/template-service/template.service';
/**
 * <p>CF Image Component</p>
 * <pre>
 * <code>
 * import { ImageModel } from 'cedrus-fusion'
 * import { ImageStylingModel } from 'cedrus-fusion'
 * <code><</code>cf-image<code>></code><code><</code><code>/</code>cf-image<code>></code>
 * </code>
 * </pre>
 */
export declare class CfImageComponent extends CfCoreComponent implements OnInit {
    /**@hidden */ elementRef: ElementRef;
    /**@hidden */
    notifacationClickable: string;
    /** @hidden
     * <p> The object bound to the tempalte.<p>
     */
    cfImage: ImageModel;
    /**
       * <pre>{
       *  display: boolean,      // True or False <b>Default: True</b>
       *  disable: boolean,      // True or False <b>Default: False</b>
     *  label: string,         // Default: 'Default Caption'
       *  labelPosition: string, // Default: 'bottom'
       *  url: string            //Default: 'https:.../jpg'
       *}
       * </pre>
       * </pre>
       * <p>Example</p>
       * <pre>{
       *  display: true,
       *  label: 'Siberian Husky'
     *  labelPosition: 'left',
       *  url: 'assets/images/siberian-husky.jpg'
       *}
       * </pre>
     */
    properties: ImageModel;
    /**
      *<p> dynamicClass: function() -> string,	// Function that returns name of the class </p>
        *<p> class: string												// Name of the css class selector </p>
        *<p> themeColor: string										// primary/accent/warn </p>
      *<pre>
        *{
      *	// Container surrounding the Image
      *	container:{
      *		dynamicClass,
      *		class
      *	},
      *	// image styling
      *	image:{
      *		dynamicClass,
      *		class
      *	},
      *	// label styling
      *	label:{
      *		dynamicClass,
      *		class
      *	}
      *}
      * </pre>
      */
    styling: ImageStylingModel;
    /**
     * <p> Display or hide the image</p>
     */
    display: boolean;
    /**
     * <p> The label of the image</p>
     */
    label: string;
    /**
     * <p> The label position of the image</p>
     * <p> Options: 'top', 'bottom', 'right', 'left'</p>
     */
    labelPosition: string;
    /**
     * <p> The url of the iamge.</p>
     */
    url: string;
    /** @hidden
     * It is function for creating Notification click events by using Core Component <b>notificationAction</b> event emmiter.
     * @param notification	it is json notification object
     */
    cfNotificationAction(notification: any): void;
    /**@hidden */
    constructor(/**@hidden */ elementRef: ElementRef, /**@hidden */ templateService: TemplateService);
    /** @hidden
     * <p> Initialize the proerties and styling object with the appropriate values.</p>
     */
    ngOnInit(): void;
    /** @hidden
     * <p> Update the properties object with hte changes on the inputs to keep the image dynamic.</p>
     * @param changes
     */
    ngOnChanges(changes: any): void;
    getImageClass(): string;
    getContainerClass(): string;
    getLabelClass(): string;
}
