import { TrainingCertificatesService } from './training-certificates.service';
import { CreateTrainingCertificateDto } from './dto/create-training-certificate.dto';
import { UpdateTrainingCertificateDto } from './dto/update-training-certificate.dto';
import { BatchCreateTrainingCertificatesDto } from './dto/batch-create-training-certificates.dto';
import { TrainingCertificate } from './entities/training-certificate.entity';
export declare class TrainingCertificatesController {
    private readonly service;
    constructor(service: TrainingCertificatesService);
    create(dto: CreateTrainingCertificateDto): Promise<{
        certificate: TrainingCertificate;
        qrCode: string;
        verification_url: string;
    }>;
    batchCreate(dto: BatchCreateTrainingCertificatesDto): Promise<{
        batch_ref: string;
        count: number;
        certificates: Array<{
            certificate: TrainingCertificate;
            qrCode: string;
            verification_url: string;
        }>;
    }>;
    verify(token: string, fingerprint?: string): Promise<any>;
    verifyManual(certNo: string, participantName: string): Promise<any>;
    findAll(page?: number, search?: string): Promise<{
        data: {
            verification_url: string;
            qrCode: string;
            id: number;
            standard: import("../standards/entities/standard.entity").Standard | null;
            participant_name: string;
            participant_company: string | null;
            course_title: string;
            training_location: string;
            training_date: Date;
            training_date_end: Date | null;
            valid_until: Date | null;
            certificate_no: string;
            qrcode_token: string;
            fingerprint: string;
            verification_domain: string;
            batch_ref: string | null;
            scan_pdf_url: string;
            scan_uploaded_at: Date;
            scan_uploaded_by: number;
            status: string;
            created_by: number;
            updated_by: number;
            created_at: Date;
            updated_at: Date;
        }[];
        total: number;
        page: number;
        lastPage: number;
    }>;
    findOne(id: number): Promise<{
        certificate: TrainingCertificate;
        verification_url: string;
        qrCode: string;
    }>;
    updatePartial(id: number, dto: Partial<UpdateTrainingCertificateDto>): Promise<TrainingCertificate>;
    update(id: number, dto: UpdateTrainingCertificateDto): Promise<TrainingCertificate>;
    remove(id: number): Promise<{
        message: string;
    }>;
    uploadScan(id: number, file: Express.Multer.File, uploadedBy?: string): Promise<{
        message: string;
        certificate: TrainingCertificate;
    }>;
}
