import { Alias, Image } from '@lxdhub/db';
import { AliasDto } from '.';
import { LXDHubDbSyncSettings } from '../dbsync-settings.interface';
import { ImageService } from '../image';
import { LXDService } from '../lxd';
import { Repository } from 'typeorm';
export declare class AliasService {
    private imageService;
    private aliasRepository;
    private dbSyncSettings;
    private lxdService;
    private logger;
    constructor(imageService: ImageService, aliasRepository: Repository<Alias>, dbSyncSettings: LXDHubDbSyncSettings, lxdService: LXDService);
    aliasToDto(alias: any): AliasDto;
    getAliases(remoteImage: any): AliasDto[];
    mapAlias(localAlias: Alias, remoteAlias: AliasDto): Alias;
    getOrCreate(remoteImage: any, remoteAlias: AliasDto): Promise<Alias>;
    update(localAlias: Alias, remoteAlias: AliasDto): Promise<Alias>;
    create(remoteAlias: AliasDto, image: Image): Promise<Alias>;
    synchronize(): Promise<void>;
}
