import { I18N } from 'aurelia-i18n';
import { DialogController } from 'aurelia-dialog';
import { CustomLogger } from '../../modules/custom-logger';
import { Box } from '../../modules/box';
import { HttpClient } from 'aurelia-fetch-client';
import { Config } from '../../config';
import { RemoteFileStorage } from './../../services/file-storage-service';
export declare class UIPictureEdit {
    private box;
    private i18n;
    private config;
    private httpClient;
    private logger;
    private dialogController;
    private fileStorageService;
    imageUrl: string;
    imageType: "url" | "base64";
    imageContainer: HTMLDivElement;
    isPainting: boolean;
    canDeleteElements: boolean;
    canPaint: boolean;
    isSaving: boolean;
    private stage;
    private layer;
    private imageGroup;
    private image;
    private transformer;
    private selectedNode;
    currentColor: any;
    currentLineStrokeWidth: any;
    constructor(box: Box, i18n: I18N, config: Config, httpClient: HttpClient, logger: CustomLogger, dialogController: DialogController, fileStorageService: RemoteFileStorage.Service);
    activate(params: any): void;
    attached(): void;
    detached(): void;
    private initKonva;
    private updateTransformer;
    private findNodes;
    private resetZoom;
    private centerImageGroup;
    private toggleImageGroupDraggable;
    private addBackgroundImage;
    private addTransformer;
    private centerNode;
    private setRemovable;
    private initZooming;
    private initHandDrawing;
    private insertLine;
    onClickAddText(): Promise<void>;
    onClickRecenter(): void;
    onClickSave(): Promise<void>;
    onClickToggleDeleteElement(): void;
    onClickTogglePainting(): void;
    onClickZoomIn(): void;
    onClickZoomOut(): void;
    private setLineWidth;
}
