import { Point } from '@angular/cdk/drag-drop/typings/drag-ref';
import { AfterViewInit, ElementRef, OnInit } from '@angular/core';
import { MatDialogRef } from '@angular/material';
import { DomSanitizer, SafeStyle } from '@angular/platform-browser';
import { CurrentService } from 'dbweb-core';
import { PortraitMaskComponent } from './portrait-mask/portrait-mask.component';
export interface PortraitEditComponentData {
    img: HTMLImageElement;
    default: boolean;
}
export interface PortraitEditComponentResultData {
    ok: boolean;
    data: string;
}
export declare class PortraitEditComponent implements OnInit, AfterViewInit {
    dialogRef: MatDialogRef<PortraitEditComponent>;
    data: PortraitEditComponentData;
    private _sanitizer;
    curr: CurrentService;
    hostClass: boolean;
    portraitImage: ElementRef<HTMLImageElement>;
    srcImage: ElementRef<HTMLImageElement>;
    dragContainer: ElementRef<HTMLElement>;
    preview: ElementRef<HTMLCanvasElement>;
    mask: PortraitMaskComponent;
    dragStartPoint: Point;
    dragStartTransformPosition: Point;
    dragStartImageRound: ClientRect;
    realImageWidth: number;
    realImageHeight: number;
    zoomFactor: number;
    minZoomFactor: number;
    maskRect: ClientRect;
    translateX: number;
    translateY: number;
    rotateScope: number;
    modified: boolean;
    afterInit: boolean;
    default: boolean;
    constructor(dialogRef: MatDialogRef<PortraitEditComponent>, data: PortraitEditComponentData, _sanitizer: DomSanitizer, curr: CurrentService);
    ngAfterViewInit(): void;
    ngOnInit(): void;
    rebuildImage(): void;
    pimgLoad(): void;
    startDragImage(event: MouseEvent): void;
    correctionOffset(dx: number, dy: number, imageRect: ClientRect): Point;
    draggingImage(event: Point): void;
    zoomIn(event: MouseEvent): void;
    zoomOut(event: MouseEvent): void;
    drawPreview(): void;
    maskChange(rect: ClientRect): void;
    rotate(event: MouseEvent): void;
    readonly imageStyle: SafeStyle;
    fileChange(event: FileList): void;
    ok(): void;
    restoreDefault(): void;
}
