import { OnModuleInit } from '@nestjs/common';
import { DataSource, Repository } from 'typeorm';
import { CreatePeriodDto } from './dto/create-period.dto';
import { UpdatePeriodDto } from './dto/update-period.dto';
import { Period } from './entities/period.entity';
import { LoggerService } from "../services/logger/logger.service";
export declare class PeriodService implements OnModuleInit {
    private readonly periodRepository;
    private readonly dataSource;
    private readonly logger;
    constructor(periodRepository: Repository<Period>, dataSource: DataSource, logger: LoggerService);
    onModuleInit(): Promise<void>;
    create(createPeriodDto: CreatePeriodDto): Promise<Period>;
    findAll(): Promise<Period[]>;
    findOne(id: number): Promise<Period>;
    findActiveById(id: number): Promise<Period>;
    findCurrent(): Promise<Period | null>;
    findByName(name: string): Promise<Period | null>;
    update(id: number, updatePeriodDto: UpdatePeriodDto): Promise<Period>;
    remove(id: number): Promise<{
        message: string;
    }>;
    private assertConsecutiveYears;
    private ensureSeedPeriods;
    private backfillAppointmentsToHistorical;
    private handleDBExceptions;
}
