import { Model } from 'mongoose';
import { AcademicYear, AcademicYearDocument } from './academic-year.schema';
export declare class AcademicYearRepository {
    private readonly model;
    constructor(model: Model<AcademicYearDocument>);
    private serialize;
    private serializeMany;
    create(data: Partial<AcademicYear>): Promise<AcademicYear>;
    findById(id: string): Promise<AcademicYear | null>;
    findOne(filter: any): Promise<AcademicYear | null>;
    findMany(filter?: any, sort?: any): Promise<AcademicYear[]>;
    updateById(id: string, patch: Partial<AcademicYear>): Promise<AcademicYear | null>;
    unsetAllCurrent(): Promise<void>;
    hasOverlap(startDate: Date, endDate: Date, excludeId?: string): Promise<boolean>;
}
