import { StreamableFile } from '@nestjs/common';
import type { Request, Response } from 'express';
import { ClientsService } from './clients.service';
import { ClientSignedDocService } from './client-signed-doc.service';
import { ListClientsDto } from './dto/list-clients.dto';
export declare class ClientsController {
    private readonly clientsService;
    private readonly signedDocService;
    private readonly logger;
    constructor(clientsService: ClientsService, signedDocService: ClientSignedDocService);
    private getCurrentUserId;
    private validSource;
    getPagedClients(q: ListClientsDto, req: Request): Promise<{
        rows: import("./clients.service").ClientRowDto[];
        total: number;
        page: number;
        limit: number;
        totalPages: number;
    }>;
    getPagedSurves(q: ListClientsDto, req: Request): Promise<{
        rows: import("./clients.service").ClientRowDto[];
        total: number;
        page: number;
        limit: number;
        totalPages: number;
    }>;
    getAllPaged(q: ListClientsDto, req: Request): Promise<{
        rows: import("./clients.service").ClientRowDto[];
        total: number;
        page: number;
        limit: number;
        totalPages: number;
    }>;
    myScope(req: Request): Promise<{
        scheme_user_id: number;
        can_view_all: boolean;
        qrs_user_id: number | null;
        tqs_user_id: number | null;
        note: string | undefined;
    }>;
    searchExact(name: string, source: string, req: Request): Promise<{
        rows: import("./clients.service").ClientRowDto[];
    }>;
    getSignedDocUrl(source: string, id: number, req: Request): Promise<{
        url: string;
        filename: string;
        docname: string;
    }>;
    streamSignedDoc(source: string, id: number, req: Request, res: Response): Promise<StreamableFile>;
    getClientDetails(id: number, source: "QRS" | "TQS" | undefined, type: "Client" | "Surveillance" | undefined, req: Request): Promise<{
        client_ref_id: any;
        client_group: import("./clients.service").ClientSource;
        company_source: import("./clients.service").ClientRecordType;
        company_name: any;
        auditee_name: any;
        auditee_designation: any;
        auditee_contact: any;
        auditee_email: any;
        auditees: {
            name: any;
            designation: any;
        }[];
        location: any;
        standard_name: any;
        standard_names: string[];
        accreditation: string;
        meta: {
            company_sector: any;
            trade_license: any;
            vat_no: any;
            employee_no: any;
            site_no: any;
            head_office: any;
            contact_finance: any;
            email_finance: any;
            signed_docs: any;
            signeddocsname: any;
        };
    }>;
}
