import { ElementRef, OnDestroy, OnInit } from '@angular/core';
import { I18nInterface, I18nService } from 'ng-devui/i18n';
import { Subscription } from 'rxjs';
import { TransformableElement } from './transformable-element';
import * as i0 from "@angular/core";
export interface IImagePreviewToolbar {
    zoomIn?: boolean;
    zoomOut?: boolean;
    rotate?: boolean;
    prev?: boolean;
    next?: boolean;
    index?: boolean;
    scaleBest?: boolean;
    scaleOriginal?: boolean;
    originnalImage?: boolean;
    download?: boolean;
}
export declare class DImagePreviewComponent implements OnInit, OnDestroy {
    private elementRef;
    private i18n;
    private doc;
    set data(data: any);
    get data(): any;
    get targetImageSrc(): string;
    toolbar: IImagePreviewToolbar;
    transformableImageElementRef: TransformableElement;
    images: HTMLElement[];
    isOptimal: boolean;
    targetImageIndex: number;
    totalImageNum: number;
    disabledZoomIn: boolean;
    disabledZoomOut: boolean;
    showInput: boolean;
    i18nText: I18nInterface['imagePreview'];
    i18nSubscription: Subscription;
    document: Document;
    onClose: () => void;
    _data: any;
    constructor(elementRef: ElementRef, i18n: I18nService, doc: any);
    click($event: any): void;
    touchstart($event: any): void;
    touchmove($event: any): void;
    touchend($event: any): void;
    arrowLeft(): void;
    arrowRight(): void;
    ngOnInit(): void;
    setI18nText(): void;
    ngOnDestroy(): void;
    pre(): void;
    next(): void;
    zoomIn(): void;
    zoomOut(): void;
    rotate(): void;
    setScaleBest(): void;
    setScaleOriginal(): void;
    getOriginalImage(isDownload?: boolean): void;
    inputChange($event: any): void;
    private addFullScreenStyle;
    private removeFullScreenStyle;
    private getImgElement;
    static ɵfac: i0.ɵɵFactoryDeclaration<DImagePreviewComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DImagePreviewComponent, "d-image-preview", never, { "data": { "alias": "data"; "required": false; }; }, {}, never, never, false, never>;
}
