import { AuditRequestsService } from './services/audit-requests.service';
import { CreateAuditRequestDto } from './dto/create-audit-request.dto';
import { UpdateAuditRequestDto } from './dto/update-audit-request.dto';
import { ScheduleAuditRequestDto } from './dto/schedule-audit-request.dto';
import { RejectAuditRequestDto } from './dto/reject-audit-request.dto';
import { CancelAuditRequestDto } from './dto/cancel-audit-request.dto';
import { ListAuditRequestsQueryDto } from './dto/list-audit-requests.dto';
import { CreateBatchAuditRequestDto } from './dto/create-batch-audit-request.dto';
export declare class AuditRequestsController {
    private readonly service;
    private readonly logger;
    constructor(service: AuditRequestsService);
    private getCurrentUserId;
    uploadDocuments(id: number, files: {
        trade_license?: Express.Multer.File[];
        previous_certificate?: Express.Multer.File[];
        files?: Express.Multer.File[];
    }, req: Request): Promise<import("./entities/audit-request.entity").AuditRequest>;
    list(q: ListAuditRequestsQueryDto, req: Request): Promise<{
        data: import("./entities/audit-request.entity").AuditRequest[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    analytics(req: Request): Promise<{
        submitted: number;
        under_review: number;
        scheduled: number;
        completed: number;
        rejected: number;
        cancelled: number;
        total: number;
    }>;
    availableSlots(): Promise<{
        window_start: string;
        window_end: string;
        max_per_day: number;
        dates: {
            date: string;
            booked: number;
            available: number;
            status: string;
        }[];
    }>;
    findOne(id: number): Promise<import("./entities/audit-request.entity").AuditRequest>;
    create(dto: CreateAuditRequestDto, req: Request): Promise<import("./entities/audit-request.entity").AuditRequest>;
    createBatch(dto: CreateBatchAuditRequestDto, req: Request): Promise<{
        ok: true;
        created: Array<{
            index: number;
            id: number;
            company_name: string;
        }>;
        count: number;
    }>;
    update(id: number, dto: UpdateAuditRequestDto, req: Request): Promise<import("./entities/audit-request.entity").AuditRequest>;
    proceedBatchToInquiry(dto: any, req: Request): Promise<{
        ok: true;
        results: any[];
    }>;
    proceedToInquiry(id: number, dto: any, req: Request): Promise<{
        request: any;
        inquiry: any;
    }>;
    cancel(id: number, dto: CancelAuditRequestDto, req: Request): Promise<import("./entities/audit-request.entity").AuditRequest>;
    markUnderReview(id: number, req: Request): Promise<import("./entities/audit-request.entity").AuditRequest>;
    schedule(id: number, dto: ScheduleAuditRequestDto, req: Request): Promise<import("./entities/audit-request.entity").AuditRequest>;
    reject(id: number, dto: RejectAuditRequestDto, req: Request): Promise<import("./entities/audit-request.entity").AuditRequest>;
    remove(id: number, req: Request): Promise<{
        message: string;
        id: number;
    }>;
}
