import { LeadService } from "./lead.service";
import { CreateLeadDto } from "./dto/create-lead.dto";
import { Response, Request } from "express";
import { UpdateLeadDto } from "./dto/update-lead.dto";
export declare class LeadController {
    private readonly leadService;
    constructor(leadService: LeadService);
    create(createLeadDto: CreateLeadDto, user: any, res: Response): Promise<Response<any, Record<string, any>>>;
    update(id: string, updateLeadDto: UpdateLeadDto, user: any, res: Response): Promise<Response<any, Record<string, any>>>;
    getLeadsByAdminAndEmployee(employeId: string, user: any, res: Response, page: number, limit: number, search: string, status: string, startDate?: string, endDate?: string): Promise<Response<any, Record<string, any>>>;
    getById(leadId: string, res: Response): Promise<Response<any, Record<string, any>>>;
    getMyAllLeads(user: any, res: Response, page: number, limit: number, search: string, status: string, priority: string, quotationStatus: string, employeeId: string, startDate?: string, endDate?: string): Promise<Response<any, Record<string, any>>>;
    deleteLead(leadId: string, user: any, res: Response): Promise<Response<any, Record<string, any>>>;
    getLeadsCount(user: any, res: Response): Promise<Response<any, Record<string, any>>>;
    uploadFile(files: Express.Multer.File[], leadId: string, res: Response, req: Request): Promise<Response<any, Record<string, any>>>;
    getLeadsForEmployee(user: any, res: Response, page: number, limit: number, search: string, status: string, quotationStatus: string, startDate?: string, endDate?: string): Promise<Response<any, Record<string, any>>>;
    getAllDocuments(res: Response, leadId?: string): Promise<Response<any, Record<string, any>>>;
    getSingleDocument(id: string, res: Response): Promise<Response<any, Record<string, any>>>;
    updateDocument(id: string, dto: any, res: Response): Promise<Response<any, Record<string, any>>>;
    deleteMultiple(leadId: string, res: Response): Promise<Response<any, Record<string, any>>>;
    deleteSingleDocument(id: string, res: Response): Promise<Response<any, Record<string, any>>>;
    addLeadStatus(res: Response, name: string): Promise<Response<any, Record<string, any>>>;
    deleteLeadStatus(res: Response, id: string): Promise<Response<any, Record<string, any>>>;
    getAllStatuses(res: Response): Promise<Response<any, Record<string, any>>>;
}
