import { OnModuleDestroy, OnModuleInit } from '@nestjs/common';
import { ImmichWorker } from "./enum";
import { MaintenanceWorkerService } from "./maintenance/maintenance-worker.service";
import { EventRepository } from "./repositories/event.repository";
import { LoggingRepository } from "./repositories/logging.repository";
import { TelemetryRepository } from "./repositories/telemetry.repository";
import { WebsocketRepository } from "./repositories/websocket.repository";
import { AuthService } from "./services/auth.service";
import { CliService } from "./services/cli.service";
import { QueueService } from "./services/queue.service";
export declare class BaseModule implements OnModuleInit, OnModuleDestroy {
    private worker;
    private authService;
    private eventRepository;
    private queueService;
    private telemetryRepository;
    private websocketRepository;
    constructor(worker: ImmichWorker, logger: LoggingRepository, authService: AuthService, eventRepository: EventRepository, queueService: QueueService, telemetryRepository: TelemetryRepository, websocketRepository: WebsocketRepository);
    onModuleInit(): Promise<void>;
    onModuleDestroy(): Promise<void>;
}
export declare class ApiModule extends BaseModule {
}
export declare class MaintenanceModule {
    private worker;
    private maintenanceWorkerService;
    constructor(worker: ImmichWorker, logger: LoggingRepository, maintenanceWorkerService: MaintenanceWorkerService);
    onModuleInit(): Promise<void>;
}
export declare class MicroservicesModule extends BaseModule {
}
export declare class ImmichAdminModule implements OnModuleDestroy {
    private service;
    constructor(service: CliService);
    onModuleDestroy(): Promise<void>;
}
