import { Scheme } from '../entities/Scheme';
export declare function resolveNonPenaltyCertificateTemplatePath(): string;
export declare function clearNonPenaltyCertificateTemplateCache(): void;
export declare function loadNonPenaltyCertificateTemplate(): string;
/** Raw labels and figures as stored on invoice / scheme / district (English DB text). */
export type NonPenaltyCertificateDbRecord = {
    districtName: string;
    blockName: string;
    schemeName: string;
    omStartDateIso: string | null;
    billFromDateIso: string;
    billToDateIso: string;
    snapshotMonthlyAmount: number;
    penaltyAmount: number;
    taxableAmount: number;
    totalVillages: number;
    totalFhtcConnections: number;
};
/**
 * Certificate display values after Hindi conversion.
 * Only dates and currency/count fields remain numeric (digits); prose names are Devanagari.
 */
export type NonPenaltyCertificateDisplayData = {
    districtName: string;
    blockName: string;
    schemeName: string;
    projectStartDate: string;
    totalVillages: string;
    totalFhtcConnections: string;
    billFromDate: string;
    billToDate: string;
    monthlyAmount: string;
    monthlyAmountInWords: string;
    taxableValue: string;
    taxableValueInWords: string;
    maintenanceFromDate: string;
    maintenanceToDate: string;
    totalMonths: string;
    finalAmount: string;
    finalAmountInWords: string;
};
/** Load certificate source fields from DB entities (district name queried from districts table). */
export declare function loadNonPenaltyCertificateDbRecord(params: {
    inv: Record<string, unknown>;
    scheme: Scheme;
}): Promise<NonPenaltyCertificateDbRecord>;
/**
 * Convert DB record to certificate display: Hindi for place/scheme names and amount-in-words;
 * dates and numeric amounts unchanged (digit form).
 */
export declare function convertDbRecordToHindiDisplay(db: NonPenaltyCertificateDbRecord): NonPenaltyCertificateDisplayData;
export declare function prepareNonPenaltyCertificateDisplayData(params: {
    inv: Record<string, unknown>;
    scheme: Scheme;
}): Promise<NonPenaltyCertificateDisplayData>;
export type NonPenaltyCertificateTemplateContext = Record<string, string>;
/** Map Hindi display data to template placeholders (HTML-escaped only; no further conversion). */
export declare function buildNonPenaltyCertificateTemplateContext(display: NonPenaltyCertificateDisplayData): NonPenaltyCertificateTemplateContext;
export declare function renderNonPenaltyCertificateHtml(context: NonPenaltyCertificateTemplateContext): string;
export declare function buildNonPenaltyCertificatePdfBuffer(params: {
    inv: Record<string, unknown>;
    scheme: Scheme;
}): Promise<Buffer>;
//# sourceMappingURL=nonPenaltyCertificatePdf.service.d.ts.map