import { Response } from "express";
import { EstimationService } from "./estimation.service";
import { CreateEstimationDto } from "./dto/estimation.dto";
import { Request } from "express";
import { EstimateStatus } from "src/common/constant/enum.constant";
import { UpdateEstimationDto } from "./dto/update-estimate.dto";
import { SendEstimateMailDto } from "./dto/send-estimate.dto";
export declare class EstimationController {
    private readonly estimationService;
    constructor(estimationService: EstimationService);
    create(dto: CreateEstimationDto, files: Express.Multer.File[], res: Response, user: any): Promise<Response<any, Record<string, any>>>;
    getEstimates(res: Response, user: any, page?: number, limit?: number, search?: string, status?: EstimateStatus): Promise<Response<any, Record<string, any>>>;
    updateEstimate(dto: UpdateEstimationDto, files: Express.Multer.File[], req: Request, id: string, res: Response, user: any): Promise<Response<any, Record<string, any>>>;
    deleteEstimate(req: Request, id: string, res: Response, user: any): Promise<Response<any, Record<string, any>>>;
    getEstimateList(res: Response, user: any, search?: string, status?: EstimateStatus): Promise<Response<any, Record<string, any>>>;
    getEstimateById(id: string, user: any, res: Response): Promise<Response<any, Record<string, any>>>;
    updateEstimateStatus(req: any, user: any, estimateId: string, status: EstimateStatus, res: Response): Promise<Response<any, Record<string, any>>>;
    sendEstimateEmail(estimateId: string, res: Response, dto: SendEstimateMailDto, user: any): Promise<Response<any, Record<string, any>>>;
    getTemplateImages(estimateId: string, res: Response): Promise<Response<any, Record<string, any>>>;
    downloadInvoicePdf(id: string, templateId: string | undefined, res: Response): Promise<Response<any, Record<string, any>>>;
}
