import { Repository } from 'typeorm';
import { TemplateFormSection } from 'src/common/entities/template-form-section.entity';
import { CommonDataService } from 'src/common/services/commonData.service';
import { CreateTemplateFormSectionDto } from './dto/create-template-form-section.dto';
import { UpdateTemplateFormSectionDto } from './dto/update-template-form-section.dto';
import { FilterTemplateFormSectionDto } from './dto/filter-template-form-section.dto';
export declare class TemplateFormSectionRepository {
    private readonly templateFormSectionRepo;
    private readonly commonDataService;
    constructor(templateFormSectionRepo: Repository<TemplateFormSection>, commonDataService: CommonDataService);
    findAll(filters: FilterTemplateFormSectionDto): Promise<{
        data: TemplateFormSection[];
        pagination: {
            totalPages: number;
            pageNumber: number;
            pageSize: number;
            totalRecords: number;
        };
    }>;
    findById(id: number): Promise<TemplateFormSection | null>;
    findByProgramTemplateId(programTemplateId: number): Promise<TemplateFormSection[]>;
    findBySectionKeyAndTemplate(sectionKey: string, programTemplateId: number): Promise<TemplateFormSection | null>;
    findByMasterSectionAndTemplate(masterFormSectionId: number, programTemplateId: number): Promise<TemplateFormSection | null>;
    findChildren(parentId: number): Promise<TemplateFormSection[]>;
    findAncestors(sectionId: number): Promise<TemplateFormSection[]>;
    findHierarchyByTemplate(programTemplateId: number): Promise<TemplateFormSection[]>;
    getNextDisplayOrder(programTemplateId: number, parentSectionId?: number): Promise<number>;
    create(createDto: CreateTemplateFormSectionDto): Promise<TemplateFormSection>;
    bulkCreate(sections: CreateTemplateFormSectionDto[]): Promise<TemplateFormSection[]>;
    update(id: number, updateDto: UpdateTemplateFormSectionDto): Promise<TemplateFormSection>;
    softDelete(id: number): Promise<boolean>;
}
