import { HttpClient } from 'aurelia-fetch-client';
import { BindingEngine } from "aurelia-framework";
import { DialogService, DialogController } from "aurelia-dialog";
import { Config } from '../../config';
import { RemoteFileStorage } from './../../services/file-storage-service';
export declare class UILightbox {
    private image;
    private dialogService;
    private httpClient;
    private config;
    private fileStorageService;
    private bindingEngine;
    src: string;
    pictures: Array<{
        url: string;
    }>;
    canEdit: boolean;
    canDownload: boolean;
    showName: boolean;
    imageType: "url" | "base64";
    isBase64Prefixed: boolean;
    clickable: boolean;
    private suspendObservers;
    private disposables;
    constructor(image: Element, dialogService: DialogService, httpClient: HttpClient, config: Config, fileStorageService: RemoteFileStorage.Service, bindingEngine: BindingEngine);
    private toPreviewUrl;
    attached(): Promise<void>;
    private detached;
}
export declare class UILightboxModal {
    private dialogController;
    private dialogService;
    private fileStorageService;
    src: string;
    pictures: Array<{
        url: string;
        previewSrc: string;
        name: string;
    }>;
    caption: string;
    canEdit: boolean;
    canDownload: boolean;
    showName: boolean;
    imageType: "url" | "base64";
    private currentIndex;
    image: Element;
    private handleShortcutsEvent;
    constructor(dialogController: DialogController, dialogService: DialogService, fileStorageService: RemoteFileStorage.Service);
    get fileName(): string;
    activate(model: {
        previewSrc: string;
        src: string;
        pictures: Array<{
            url: string;
            previewSrc: string;
            name: string;
        }>;
        caption: string;
        canEdit: boolean;
        canDownload: boolean;
        showName: boolean;
        imageType: "url" | "base64";
    }): void;
    attached(): void;
    detached(): void;
    previousPicture(): Promise<void>;
    nextPicture(): Promise<void>;
    editPicture(): Promise<void>;
    download(): Promise<void>;
}
