import { DataSource, Repository } from 'typeorm';
import { User } from '../user/entities/user.entity';
import { AuditReportStorageService } from './services/audit-report-storage.service';
export interface QueueFilters {
    page?: number;
    limit?: number | string;
    search?: string;
    approved?: 'all' | 'approved' | 'pending';
    auditorId?: number | string;
    auditType?: string;
    status?: string;
    year?: number | string;
    month?: number | string;
    from?: string;
    to?: string;
}
export declare class AuditReportApprovalsService {
    private readonly ds;
    private readonly userRepo;
    private readonly storage;
    private readonly logger;
    private readonly ALL_SCHEME_ROLES;
    private readonly SUPER_ADMIN_IDS;
    constructor(ds: DataSource, userRepo: Repository<User>, storage: AuditReportStorageService);
    private static readonly DOC_COLUMN;
    openReportFile(rowId: number, docType: string, actorId?: number): Promise<{
        stream: import("stream").Readable;
        size: number;
        mimeType: string;
        filename: string;
    }>;
    private resolveActorScope;
    private loadRow;
    private assertSchemeAccess;
    queue(actorId: number | undefined, f?: QueueFilters): Promise<{
        data: any;
        total: number;
        page: number;
        lastPage: number;
        scope: "QRS" | "TQS" | null;
        seesAll: boolean;
    }>;
    approve(id: number, actorId?: number): Promise<{
        id: number;
        report_qaqc_approved: boolean;
    }>;
    reject(id: number, actorId?: number, reason?: string): Promise<{
        id: number;
        report_qaqc_approved: boolean;
    }>;
}
