import { Request, Response, NextFunction } from 'express';
import { InvoiceService } from '../services/invoice.service';
export declare class InvoicesController {
    private invoiceService;
    constructor(invoiceService: InvoiceService);
    create(req: Request, res: Response, next: NextFunction): Promise<void>;
    getById(req: Request, res: Response, next: NextFunction): Promise<void>;
    downloadPdf(req: Request, res: Response, next: NextFunction): Promise<void>;
    getPdfReadUrl(req: Request, res: Response, next: NextFunction): Promise<void>;
    downloadSupporting(req: Request, res: Response, next: NextFunction): Promise<void>;
    getSupportingReadUrl(req: Request, res: Response, next: NextFunction): Promise<void>;
    /** Re-build PDF from current `invoice.html` and stored O&M snapshot; overwrites S3 object in place. */
    regeneratePdf(req: Request, res: Response, next: NextFunction): Promise<void>;
    list(req: Request, res: Response, next: NextFunction): Promise<void>;
    getDashboard(req: Request, res: Response, next: NextFunction): Promise<void>;
    getSubmitted(req: Request, res: Response, next: NextFunction): Promise<void>;
    getTaxWaitingInvoices(req: Request, res: Response, next: NextFunction): Promise<void>;
    getSubmitQueueInvoices(req: Request, res: Response, next: NextFunction): Promise<void>;
    getPaidSchemes(req: Request, res: Response, next: NextFunction): Promise<void>;
    generateTaxInvoice(req: Request, res: Response, next: NextFunction): Promise<void>;
    uploadPayorder(req: Request, res: Response, next: NextFunction): Promise<void>;
    downloadPayorder(req: Request, res: Response, next: NextFunction): Promise<void>;
    downloadTaxPdf(req: Request, res: Response, next: NextFunction): Promise<void>;
    getUnsubmittedSchemes(req: Request, res: Response, next: NextFunction): Promise<void>;
    getSchemeDashboardDetail(req: Request, res: Response, next: NextFunction): Promise<void>;
    getByScheme(req: Request, res: Response, next: NextFunction): Promise<void>;
    update(req: Request, res: Response, next: NextFunction): Promise<void>;
    updateStatus(req: Request, res: Response, next: NextFunction): Promise<void>;
    updatePayment(req: Request, res: Response, next: NextFunction): Promise<void>;
    patchPaidInvoice(req: Request, res: Response, next: NextFunction): Promise<void>;
    delete(req: Request, res: Response, next: NextFunction): Promise<void>;
    getByNumber(req: Request, res: Response, next: NextFunction): Promise<void>;
    getByDateRange(req: Request, res: Response, next: NextFunction): Promise<void>;
}
//# sourceMappingURL=invoices.controller.d.ts.map