import { Image, ImageAvailability, Remote } from '@lxdhub/db';
import { LXDHubDbSyncSettings } from '../dbsync-settings.interface';
import { ImageService } from '../image';
import { LXDService } from '../lxd';
import { Repository } from 'typeorm';
export declare class ImageAvailabilityService {
    private repository;
    private remoteRepository;
    private imageRepository;
    private imageService;
    private dbSyncSettings;
    private lxdService;
    private logger;
    constructor(repository: Repository<ImageAvailability>, remoteRepository: Repository<Remote>, imageRepository: Repository<Image>, imageService: ImageService, dbSyncSettings: LXDHubDbSyncSettings, lxdService: LXDService);
    fillUpImageAvailablities(): Promise<void>;
    markAsUnavailable(fingerprints: string[], remote: Remote): Promise<void>;
    updateOrCreate(image: Image, remote: Remote, available?: boolean): Promise<ImageAvailability>;
    private getOrCreate;
    private create;
    private get;
    synchronize(): Promise<void>;
}
