import { DataSource, Repository } from 'typeorm';
import { UploadsReferenceCheckerService } from '../uploads/uploads-reference-checker.service';
import { UploadsStorageService } from '../uploads/uploads-storage.service';
import { Project } from './entities/project.entity';
import { UpsertProjectDto } from './dto/upsert-project.dto';
import { ProjectDetailDto } from './dto/project-detail.dto';
export declare class AdminProjectsService {
    private readonly projectRepo;
    private readonly dataSource;
    private readonly uploadsStorage;
    private readonly uploadsRefChecker;
    private readonly logger;
    constructor(projectRepo: Repository<Project>, dataSource: DataSource, uploadsStorage: UploadsStorageService, uploadsRefChecker: UploadsReferenceCheckerService);
    getById(id: number): Promise<ProjectDetailDto>;
    create(dto: UpsertProjectDto): Promise<ProjectDetailDto>;
    update(id: number, dto: UpsertProjectDto): Promise<ProjectDetailDto>;
    remove(id: number): Promise<void>;
    private cleanupStaleFiles;
    private findOneWithRelations;
    private assertUrlAvailable;
}
