import { Repository } from 'typeorm';
import { ProgramTemplate } from 'src/common/entities/program-template.entity';
import { CommonDataService } from 'src/common/services/commonData.service';
import { CreateProgramTemplateDto } from './dto/create-program-template.dto';
import { UpdateProgramTemplateDto } from './dto/update-program-template.dto';
import { FilterProgramTemplateDto } from './dto/filter-program-template.dto';
export declare class ProgramTemplateRepository {
    private readonly programTemplateRepo;
    private readonly commonDataService;
    constructor(programTemplateRepo: Repository<ProgramTemplate>, commonDataService: CommonDataService);
    findAll(filters: FilterProgramTemplateDto): Promise<{
        data: ProgramTemplate[];
        pagination: {
            totalPages: number;
            pageNumber: number;
            pageSize: number;
            totalRecords: number;
        };
    }>;
    findById(id: number): Promise<ProgramTemplate | null>;
    findByProgramType(programTypeId: number): Promise<ProgramTemplate[]>;
    create(createDto: CreateProgramTemplateDto): Promise<ProgramTemplate>;
    update(id: number, updateDto: UpdateProgramTemplateDto): Promise<ProgramTemplate>;
    softDelete(id: number): Promise<boolean>;
}
