import { Repository, DataSource } from 'typeorm';
import { NcEntity } from './entities/nc.entity';
import { NcrEntryEntity } from './entities/ncr-entry.entity';
import { NcRemarkEntity } from './entities/nc-remark.entity';
import { CreateNcDto } from './dto/create-nc.dto';
import { MailsService } from '../mails/mails.service';
export declare class NcService {
    private readonly ncRepo;
    private readonly entryRepo;
    private readonly remarkRepo;
    private readonly schemeDb;
    private readonly mailsService;
    private readonly logger;
    constructor(ncRepo: Repository<NcEntity>, entryRepo: Repository<NcrEntryEntity>, remarkRepo: Repository<NcRemarkEntity>, schemeDb: DataSource, mailsService: MailsService);
    private readonly NC_STORAGE_ROOT;
    private readonly NC_ALLOWED;
    private parseDocs;
    clientRespondToFinding(ncId: number, entryId: number, companyIds: number[], correctiveAction: string, files?: {
        originalname: string;
        buffer: Buffer;
    }[]): Promise<{
        ok: true;
        entry_id: number;
        documents: {
            path: string;
            name: string;
        }[];
    }>;
    private notifyStaffOnClientUpload;
    private esc;
    private guessMime;
    openFindingEvidence(ncId: number, entryId: number, companyIds: number[], index?: number): Promise<{
        stream: any;
        size: number;
        mime: string;
        filename: string;
    }>;
    create(dto: CreateNcDto, currentUserId: number): Promise<{
        ok: true;
        nc_id: number;
        audit_id: number;
        findings_created: number;
    }>;
    getClientNcs(companyIds: number[]): Promise<any[]>;
    getClientNcDetail(ncId: number, companyIds: number[]): Promise<any>;
    saveClientSignature(ncId: number, companyId: number, payload: {
        signer_name: string;
        signer_email?: string | null;
        signature_img: string;
        stamp_img?: string;
    }): Promise<{
        ok: true;
        document_hash: string;
        signed_at: string;
    }>;
    getNcSignature(ncId: number): Promise<any | null>;
}
