import type { Request } from 'express';
import type { Response } from 'express';
import { ClientPortalService } from './services/client-portal.service';
import { ClientAuthService } from './services/client-auth.service';
import { InviteClientDto, ClientLoginDto, VerifyOtpDto, ListClientAuditsDto, ResendOtpDto, RefreshClientTokenDto, ClientLogoutDto } from './dto/client-portal.dto';
import { NcService } from "../nc/nc.service";
import { PreviousNcPdfService } from '../previous-nc/services/previous-nc-pdf.service';
export declare class ClientPortalController {
    private readonly clientPortalService;
    private readonly clientAuthService;
    private readonly ncService;
    private readonly previousNcPdfService;
    private readonly logger;
    constructor(clientPortalService: ClientPortalService, clientAuthService: ClientAuthService, ncService: NcService, previousNcPdfService: PreviousNcPdfService);
    inviteClient(inviteDto: InviteClientDto, req: Request): Promise<any>;
    clientLogin(loginDto: ClientLoginDto): Promise<any>;
    loginWithEmail(loginEmailDto: {
        email: string;
    }): Promise<any>;
    verifyOtp(verifyDto: VerifyOtpDto, req: Request): Promise<any>;
    resendOtp(resendDto: ResendOtpDto): Promise<any>;
    refreshToken(dto: RefreshClientTokenDto): Promise<any>;
    logout(dto: ClientLogoutDto): Promise<any>;
    getCompanyInfo(req: Request): Promise<any>;
    getBranches(req: Request): Promise<any>;
    getAudits(req: Request, query: ListClientAuditsDto): Promise<any>;
    getAuditProgress(auditId: string, req: Request): Promise<any>;
    getAuditReport(auditId: string, req: Request): Promise<any>;
    getCertificates(req: Request): Promise<any>;
    getNcs(req: Request): Promise<any>;
    getNcsList(req: Request): Promise<any>;
    getNcDetail(id: string, req: Request): Promise<any>;
    downloadNcPdf(id: string, req: Request, res: Response): Promise<void>;
    respondToFinding(id: string, entryId: string, body: {
        corrective_action?: string;
    }, files: any[], req: Request): Promise<{
        success: boolean;
        data: {
            ok: true;
            entry_id: number;
            documents: {
                path: string;
                name: string;
            }[];
        };
    }>;
    getFindingEvidence(id: string, entryId: string, index: string, req: Request, res: Response): Promise<void>;
    private getCurrentUserId;
    getPortalStatus(companyId: string): Promise<any>;
    getTeam(req: Request): Promise<any>;
    inviteTeamMember(body: {
        email: string;
    }, req: Request): Promise<any>;
    downloadReportFile(auditId: string, stage: string, req: Request, res: Response): Promise<void>;
    signNc(id: string, body: {
        signature_img: string;
        signer_name: string;
        stamp_img?: string;
    }, req: Request): Promise<{
        success: boolean;
        data: {
            ok: true;
            document_hash: string;
            signed_at: string;
        };
    }>;
    private getCompanyIds;
}
