import type { Response } from 'express';
import { ExcelService } from './excel.service';
import { ExcelReportService } from './excel-report.service';
import type { CertReportQuery } from './excel-report.service';
export declare class ExcelController {
    private readonly excelService;
    private readonly excelReportService;
    constructor(excelService: ExcelService, excelReportService: ExcelReportService);
    importExcel(file: Express.Multer.File): Promise<{
        message: string;
        inserted: number;
        skipped: number;
        totalRows: number;
    }>;
    addManualLegacy(dto: {
        cert_no: string;
        company_name: string;
        standard: string;
        orginally_reg?: string;
        issue_date?: string;
        expire_date?: string;
        status?: string;
    }): Promise<import("./certificate.entity").Certificate>;
    getAllCertificates(page: number, limit: number, sort: string, order: string): Promise<import("./excel.service").PaginatedResult<import("./certificate.entity").Certificate>>;
    searchCertificates(q?: string, standard?: string, status?: string, from_date?: string, to_date?: string, monthStr?: string, yearStr?: string, page?: number, limit?: number): Promise<import("./excel.service").PaginatedResult<import("./certificate.entity").Certificate>>;
    getStats(): Promise<{
        total: number;
        byStandard: {
            standard: string;
            count: number;
        }[];
        byStatus: {
            status: string;
            count: number;
        }[];
        recentCount: number;
    }>;
    importCodebookExcel(file: Express.Multer.File): Promise<{
        message: string;
        count: number;
    }>;
    getAllCodebooks(page: number, limit: number, search?: string): Promise<import("./excel.service").PaginatedResult<import("./codebook.entity").Codebook>>;
    previewReport(query: CertReportQuery): Promise<{
        totalRecords: number;
        active: number;
        expired: number;
        byStandard: Record<string, number>;
        sampleRows: import("./certificate.entity").Certificate[];
    }>;
    downloadExcel(query: CertReportQuery, res: Response): Promise<void>;
    downloadPdf(query: CertReportQuery, res: Response): Promise<void>;
    updateLegacy(id: number, dto: Partial<{
        cert_no: string;
        company_name: string;
        standard: string;
        orginally_reg: string;
        issue_date: string;
        expire_date: string;
        status: string;
    }>): Promise<import("./certificate.entity").Certificate>;
    deleteLegacy(id: number): Promise<{
        message: string;
    }>;
    getLegacyById(id: number): Promise<import("./certificate.entity").Certificate>;
}
