import { Interfaces } from '@lxdhub/common';
import { Remote } from '@lxdhub/db';
import { LXDHubDbSyncSettings } from '../dbsync-settings.interface';
import { RemoteDto } from './dtos/remote.dto';
import { RemoteFactory } from './factories/remote.factory';
import { Repository } from 'typeorm';
export declare class RemoteService {
    private remoteRepository;
    private remoteFactory;
    private dbSyncSettings;
    private logger;
    constructor(remoteRepository: Repository<Remote>, remoteFactory: RemoteFactory, dbSyncSettings: LXDHubDbSyncSettings);
    createRemote(externalRemote: RemoteDto): Promise<Remote>;
    updateRemote(externalRemote: RemoteDto, localRemote: Remote): Promise<Remote>;
    getOrUpdate(settingsRemote: Interfaces.IRemoteConfig): Promise<Remote>;
    synchronize(): Promise<void>;
}
