import { DatabaseService } from '@lxdhub/db';
import { OnApplicationShutdown } from '@nestjs/common';
import { AliasService } from './alias';
import { ArchitectureService } from './architecture';
import { ImageService } from './image';
import { ImageAvailabilityService } from './image-availability';
import { OperatingSystemService } from './operating-system';
import { OsArchService } from './os-arch';
import { RemoteService } from './remote';
import { SyncRunService } from './sync-run';
import { LXDHubDbSyncSettings } from './dbsync-settings.interface';
export declare class AppService implements OnApplicationShutdown {
    private readonly remoteService;
    private readonly operatingSystemService;
    private readonly architectureService;
    private readonly imageService;
    private readonly aliasService;
    private readonly osArchService;
    private readonly imageAvailabilityService;
    private readonly databaseService;
    private readonly syncRunService;
    private readonly settings;
    private logger;
    private syncRun?;
    /**
     * Initializes the app service
     */
    constructor(remoteService: RemoteService, operatingSystemService: OperatingSystemService, architectureService: ArchitectureService, imageService: ImageService, aliasService: AliasService, osArchService: OsArchService, imageAvailabilityService: ImageAvailabilityService, databaseService: DatabaseService, syncRunService: SyncRunService, settings: LXDHubDbSyncSettings);
    private run;
    /**
     * Start the database synchronizer.
     */
    synchronize(): Promise<void>;
    onApplicationShutdown(signal?: string): Promise<void>;
}
