import ExcelJS from 'exceljs';
import type { TaxInvoiceExcelDbRow } from '../repositories/invoice.repository';
export declare const TAX_INVOICE_EXCEL_PENDING_HEADERS: readonly ["S.No.", "Scheme ID", "Block", "Scheme Name", "O&M Bill Period", "O&M Bill Days", "Proforma Bill Date", "O&M Bill No.", "Bill Amount", "Penalty", "Taxable Bill Amount", "GST @ 18%", "Gross bill Amount (Including GST)"];
export declare const TAX_INVOICE_EXCEL_GENERATED_EXTRA_HEADERS: readonly ["PFMS Date", "PFMS Voucher No.", "Payment Date", "Tax Invoice No.", "Tax Invoice Date"];
export declare const TAX_INVOICE_EXCEL_GENERATED_HEADERS: readonly ["S.No.", "Scheme ID", "Block", "Scheme Name", "O&M Bill Period", "O&M Bill Days", "Proforma Bill Date", "O&M Bill No.", "Bill Amount", "Penalty", "Taxable Bill Amount", "GST @ 18%", "Gross bill Amount (Including GST)", "PFMS Date", "PFMS Voucher No.", "Payment Date", "Tax Invoice No.", "Tax Invoice Date"];
export type TaxInvoiceExcelExportType = 'pending' | 'generated';
export declare function taxInvoiceExcelFileName(exportType: TaxInvoiceExcelExportType): string;
/** Build Excel workbook buffer from pre-fetched DB rows. */
export declare function buildTaxInvoiceExcelBuffer(params: {
    rows: TaxInvoiceExcelDbRow[];
    exportType: TaxInvoiceExcelExportType;
    startSerialNo?: number;
}): Promise<Buffer>;
/** Append rows to an existing worksheet (used for chunked DB fetch). */
export declare function appendTaxInvoiceExcelRows(params: {
    worksheet: ExcelJS.Worksheet;
    rows: TaxInvoiceExcelDbRow[];
    exportType: TaxInvoiceExcelExportType;
    startSerialNo: number;
}): number;
export declare function createTaxInvoiceExcelWorksheet(workbook: ExcelJS.Workbook, exportType: TaxInvoiceExcelExportType): ExcelJS.Worksheet;
export declare function finalizeTaxInvoiceExcelWorkbook(workbook: ExcelJS.Workbook): Promise<Buffer>;
/** Exported for unit tests — map one DB row to column values (without S.No.). */
export declare function mapTaxInvoiceExcelRowForTest(row: TaxInvoiceExcelDbRow, exportType: TaxInvoiceExcelExportType): (string | number)[];
//# sourceMappingURL=taxInvoiceExcel.service.d.ts.map