/**
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
 */
import { AnimationEvent } from '@angular/animations';
import { OverlayRef } from '@angular/cdk/overlay';
import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnInit } from '@angular/core';
import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
import { NzConfigService } from 'ng-zorro-antd/core/config';
import { NzDestroyService } from 'ng-zorro-antd/core/services';
import { NzImage, NzImagePreviewOptions } from './image-preview-options';
import { NzImagePreviewRef } from './image-preview-ref';
import * as i0 from "@angular/core";
export interface NzImageContainerOperation {
    icon: string;
    type: string;
    onClick(): void;
}
export declare class NzImagePreviewComponent implements OnInit {
    private ngZone;
    private host;
    private cdr;
    nzConfigService: NzConfigService;
    config: NzImagePreviewOptions;
    private overlayRef;
    private destroy$;
    private sanitizer;
    images: NzImage[];
    index: number;
    isDragging: boolean;
    visible: boolean;
    animationState: 'void' | 'enter' | 'leave';
    animationStateChanged: EventEmitter<AnimationEvent>;
    previewImageTransform: string;
    previewImageWrapperTransform: string;
    operations: NzImageContainerOperation[];
    zoomOutDisabled: boolean;
    position: {
        x: number;
        y: number;
    };
    previewRef: NzImagePreviewRef;
    containerClick: EventEmitter<void>;
    closeClick: EventEmitter<void>;
    imageRef: ElementRef<HTMLImageElement>;
    imagePreviewWrapper: ElementRef<HTMLElement>;
    private zoom;
    private rotate;
    get animationDisabled(): boolean;
    get maskClosable(): boolean;
    constructor(ngZone: NgZone, host: ElementRef<HTMLElement>, cdr: ChangeDetectorRef, nzConfigService: NzConfigService, config: NzImagePreviewOptions, overlayRef: OverlayRef, destroy$: NzDestroyService, sanitizer: DomSanitizer);
    ngOnInit(): void;
    setImages(images: NzImage[]): void;
    switchTo(index: number): void;
    next(): void;
    prev(): void;
    markForCheck(): void;
    onClose(): void;
    onZoomIn(): void;
    onZoomOut(): void;
    onRotateRight(): void;
    onRotateLeft(): void;
    onSwitchLeft(event: MouseEvent): void;
    onSwitchRight(event: MouseEvent): void;
    onAnimationStart(event: AnimationEvent): void;
    onAnimationDone(event: AnimationEvent): void;
    startLeaveAnimation(): void;
    onDragReleased(): void;
    sanitizerResourceUrl(url: string): SafeResourceUrl;
    private updatePreviewImageTransform;
    private updatePreviewImageWrapperTransform;
    private updateZoomOutDisabled;
    private setEnterAnimationClass;
    private setLeaveAnimationClass;
    private reset;
    static ɵfac: i0.ɵɵFactoryDeclaration<NzImagePreviewComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NzImagePreviewComponent, "nz-image-preview", ["nzImagePreview"], {}, {}, never, never, false>;
}
