import { AnimationEvent } from '@angular/animations';
import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, QueryList, TemplateRef } from '@angular/core';
import { SafeUrl } from '@angular/platform-browser';
import { PrimeNGConfig } from 'primeng/api';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "primeng/api";
import * as i3 from "primeng/icons/refresh";
import * as i4 from "primeng/icons/eye";
import * as i5 from "primeng/icons/undo";
import * as i6 from "primeng/icons/searchminus";
import * as i7 from "primeng/icons/searchplus";
import * as i8 from "primeng/icons/times";
export declare class Image implements AfterContentInit, AfterViewInit {
    private document;
    private config;
    private cd;
    imageClass: string;
    imageStyle: any;
    styleClass: string;
    style: any;
    src: string | SafeUrl;
    alt: string;
    width: string;
    height: string;
    appendTo: any;
    preview: boolean;
    showTransitionOptions: string;
    hideTransitionOptions: string;
    onShow: EventEmitter<any>;
    onHide: EventEmitter<any>;
    onImageError: EventEmitter<any>;
    mask: ElementRef;
    templates: QueryList<any>;
    indicatorTemplate: TemplateRef<any>;
    rotateRightIconTemplate: TemplateRef<any>;
    rotateLeftIconTemplate: TemplateRef<any>;
    zoomOutIconTemplate: TemplateRef<any>;
    zoomInIconTemplate: TemplateRef<any>;
    closeIconTemplate: TemplateRef<any>;
    maskVisible: boolean;
    previewVisible: boolean;
    rotate: number;
    scale: number;
    previewClick: boolean;
    container: HTMLElement;
    wrapper: HTMLElement;
    get isZoomOutDisabled(): boolean;
    get isZoomInDisabled(): boolean;
    private zoomSettings;
    constructor(document: Document, config: PrimeNGConfig, cd: ChangeDetectorRef);
    ngAfterContentInit(): void;
    ngAfterViewInit(): void;
    onImageClick(): void;
    onMaskClick(): void;
    onPreviewImageClick(): void;
    rotateRight(): void;
    rotateLeft(): void;
    zoomIn(): void;
    zoomOut(): void;
    onAnimationStart(event: AnimationEvent): void;
    onAnimationEnd(event: AnimationEvent): void;
    moveOnTop(): void;
    appendContainer(): void;
    imagePreviewStyle(): {
        transform: string;
    };
    containerClass(): {
        'p-image p-component': boolean;
        'p-image-preview-container': boolean;
    };
    handleToolbarClick(event: MouseEvent): void;
    closePreview(): void;
    imageError(event: any): void;
    onKeydownHandler(event: KeyboardEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<Image, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<Image, "p-image", never, { "imageClass": "imageClass"; "imageStyle": "imageStyle"; "styleClass": "styleClass"; "style": "style"; "src": "src"; "alt": "alt"; "width": "width"; "height": "height"; "appendTo": "appendTo"; "preview": "preview"; "showTransitionOptions": "showTransitionOptions"; "hideTransitionOptions": "hideTransitionOptions"; }, { "onShow": "onShow"; "onHide": "onHide"; "onImageError": "onImageError"; }, ["templates"], never, false, never>;
}
export declare class ImageModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<ImageModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<ImageModule, [typeof Image], [typeof i1.CommonModule, typeof i2.SharedModule, typeof i3.RefreshIcon, typeof i4.EyeIcon, typeof i5.UndoIcon, typeof i6.SearchMinusIcon, typeof i7.SearchPlusIcon, typeof i8.TimesIcon], [typeof Image, typeof i2.SharedModule]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<ImageModule>;
}
