import { Architecture, OperatingSystem, OperatingSystemArchitecture, Image } from '@lxdhub/db';
import { OsArchDto } from '.';
import { ArchitectureService } from '../architecture/architecture.service';
import { LXDHubDbSyncSettings } from '../dbsync-settings.interface';
import { ImageService } from '../image/image.service';
import { LXDService } from '../lxd';
import { OperatingSystemService } from '../operating-system';
import { Repository } from 'typeorm';
export declare class OsArchService {
    private osArchRepository;
    private architectureService;
    private operatingSystemService;
    private imageService;
    private imageRepository;
    private dbSyncSettings;
    private lxdService;
    private logger;
    constructor(osArchRepository: Repository<OperatingSystemArchitecture>, architectureService: ArchitectureService, operatingSystemService: OperatingSystemService, imageService: ImageService, imageRepository: Repository<Image>, dbSyncSettings: LXDHubDbSyncSettings, lxdService: LXDService);
    remoteImageToDto(remoteImage: any): OsArchDto;
    getOsArchs(remoteImages: any[]): OsArchDto[];
    getOrCreate(remoteOsArch: OsArchDto): Promise<OperatingSystemArchitecture>;
    create(osArch: {
        arch: Architecture;
        os: OperatingSystem;
    }): Promise<OperatingSystemArchitecture>;
    synchronize(): Promise<void>;
}
