import { InvoicesService } from "./invoices.service";
import { CreateInvoiceDto } from "../dto/create-invoice.dto";
import { UpdateInvoiceDto } from "../dto/update-invoice.dto";
import { FilterInvoiceDto } from "../dto/filter-invoice.dto";
import { BulkDownloadInvoiceDto } from "../dto/bulk-download-invoice.dto";
import { Response } from "express";
export declare class InvoicesController {
    private readonly invoicesService;
    constructor(invoicesService: InvoicesService);
    create(createInvoiceDto: CreateInvoiceDto): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    findAll(filterInvoiceDto: FilterInvoiceDto): Promise<{
        success: boolean;
        code: number;
        message: string;
        data: any;
    }>;
    invoiceExcel(filterInvoiceDto: FilterInvoiceDto, res: Response): Promise<void>;
    findOne(id: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    update(id: string, updateInvoiceDto: UpdateInvoiceDto): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    remove(id: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    downloadInvoice(invoiceData: any, res: Response): Promise<Response<any, Record<string, any>>>;
    printInvoice(invoiceData: any, res: Response): Promise<Response<any, Record<string, any>>>;
    updateTripStatusToInvoiced(): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    bulkDownloadInvoices(bulkDownloadDto: BulkDownloadInvoiceDto, res: Response): Promise<void>;
}
