import { InquiriesService } from './inquiries.service';
import { CreateInquiryDto } from './dto/create-inquiry.dto';
import { UpdateInquiryDto } from './dto/update-inquiry.dto';
import type { Request, Response } from 'express';
export declare class InquiriesController {
    private readonly inquiriesService;
    constructor(inquiriesService: InquiriesService);
    create(dto: CreateInquiryDto): Promise<import("./entities/inquiry.entity").Inquiry>;
    findAll(req: Request, page?: string, limit?: string, status?: string, search?: string, submitted_by_id?: string): Promise<{
        data: import("./entities/inquiry.entity").Inquiry[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    getPipelineSummary(req: Request): Promise<Record<string, number>>;
    getSubmitters(): Promise<{
        id: number;
        firstName: string;
        lastName: string;
        email: string;
    }[]>;
    findOne(id: string): Promise<import("./entities/inquiry.entity").Inquiry | null>;
    update(id: string, dto: UpdateInquiryDto): Promise<import("./entities/inquiry.entity").Inquiry>;
    confirm(id: string): Promise<import("./entities/inquiry.entity").Inquiry>;
    requestChanges(id: string, body: {
        notes: string;
    }): Promise<import("./entities/inquiry.entity").Inquiry>;
    remove(id: string): Promise<import("typeorm").DeleteResult>;
    generateDraft(id: string): Promise<{
        message: string;
        pdf_path: string;
        docx_path: string;
        status: import("./entities/inquiry.entity").InquiryStatus;
        draft_generated_at: Date;
    }>;
    uploadDocuments(id: string, files: Express.Multer.File[], typesField: string | string[] | undefined, req: Request): Promise<{
        message: string;
        count: number;
        documents: import("./entities/inquiry.entity").InquiryDocument[];
    }>;
    deleteDocument(id: string, docIndex: string): Promise<{
        message: string;
        documents: import("./entities/inquiry.entity").InquiryDocument[];
    }>;
    downloadDraftPdf(id: string, token: string | undefined, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    downloadDraftDocx(id: string, token: string | undefined, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
}
