import { HttpClient, HttpParams } from '@angular/common/http';
import { Configurations } from '../configurations';
import { AuthService } from './auth.service';
import { AssessmentList } from '../sharedComponents/assessment-list/service/assessment.interface';
import { BehaviorSubject, Observable } from 'rxjs';
import { Responsibility } from '../interfaces/responsibilty.interface';
import * as i0 from "@angular/core";
export declare class ResponsibilityService {
    private http;
    private authService;
    env: any;
    dataPerPage: number;
    grcOwners$: BehaviorSubject<any>;
    RCList: BehaviorSubject<any>;
    AssignorList: BehaviorSubject<any>;
    AssuranceListForAudit: BehaviorSubject<any>;
    GroupList: BehaviorSubject<any>;
    AssuranceCategoryList: BehaviorSubject<any>;
    private overseerList;
    private policyGroups;
    constructor(http: HttpClient, authService: AuthService, config?: Configurations);
    getResponsibilityCenterList(params?: HttpParams): Observable<any>;
    getOrganizationGroups(params?: HttpParams): Observable<any>;
    getOrganizationPolicyGroups(params?: HttpParams): Observable<any>;
    getOrganizationOverseersGroups(params?: HttpParams): Observable<any>;
    getOrganizationUsers(): Observable<any[]>;
    getOrganizationPeople(params?: HttpParams): Observable<any>;
    getAssignorsList(params?: HttpParams): Observable<any>;
    getCategoriesList(): Observable<any[]>;
    getProgramsList(params: HttpParams, ids?: any): Observable<any[]>;
    getProgramsListCount(params: HttpParams, ids?: any): Observable<any[]>;
    getCategoriesUnderProgram(params: HttpParams): Observable<any[]>;
    getAssurance(): Observable<any>;
    getRCDetailsOfFramework(rc_id: any, category_id: any): Observable<Object>;
    submitEntrust(entrust_body: any): Observable<Object>;
    updateEntrust(entrust_body: any, object_id: any, isDelegate: any): Observable<Object>;
    editResponsibility(objectId: any): Observable<Object>;
    addBulkResponsibility(entrust_body: any): Observable<Object>;
    uploadToNode(payload: any, des: any): Observable<any>;
    filesUploading: any[];
    filesUploaded: any[];
    filesUploadedAndUploading: any[];
    getCategoryDetailsById(id: any): Observable<any[]>;
    getFrameWorkCount(params?: HttpParams): Observable<import("@angular/common/http").HttpEvent<any[]>>;
    getFrameWorkList(params: HttpParams): Observable<import("@angular/common/http").HttpEvent<any[]>>;
    getFrameworkSubCategories(id: any, params: HttpParams): Observable<import("@angular/common/http").HttpEvent<any[]>>;
    getFrameworkControls(id: any, params: HttpParams): Observable<import("@angular/common/http").HttpEvent<any[]>>;
    fileUpload(file: any): Observable<Object>;
    getAssessmentCategory(payload: any, program_ids?: string): Observable<Object>;
    getAssessmentList(payload: any, id: string, program_ids?: string): Observable<AssessmentList[]>;
    getAssessmentDetailsByID(id: string): Observable<AssessmentList[]>;
    getGRCOwnerList(): Observable<any[]>;
    getObjectType(): Observable<any[]>;
    getGRCObjectDetails(id: string): Observable<any[]>;
    addGRCObject(payload: any): Observable<any[]>;
    updateGRCObject(payload: any, _id: string): Observable<any[]>;
    getFormConfig(): Observable<any[] | {
        data: {
            fields: {};
        };
    }>;
    buildResponsibilityPayload(event: any): Responsibility | null;
    getRiskClass(riskClass: 0 | 1 | 2 | 3): 'low' | 'low-medium' | 'medium-high' | 'high';
    /**
     * Removes HTML entities and tags from a string and trims whitespace.
     * Used to check if a rich text field is effectively blank.
     * @param data - The string to clean
     * @returns The cleaned string or empty string if input is falsy
     */
    checkBlank(data: string): string;
    /**
     * Validates the responsibility form against the current mandatory field configuration.
     *
     * @param responsibilityForm - The responsibility form data to validate
     * @param mandatoryFieldsList - Configuration object defining which fields are mandatory
     * @param featureFlag_groups - Feature flag indicating if group assignments are enabled
     * @returns Object containing validation result with `isValid` boolean and `invalidType` string
     *          indicating which field failed validation (empty string if all validations pass)
     */
    validateResponsibilityByConfig(responsibilityForm: any, mandatoryFieldsList: any, featureFlag_groups: boolean): {
        isValid: boolean;
        invalidType: string;
    };
    private textIsBlank;
    private isOnBehalfMissing;
    private isNameMissing;
    private isAssigneeMissing;
    private isFrequencyMissing;
    private isNoteMissing;
    private isObjectiveMissing;
    private isRcMissing;
    private isProgramMissing;
    private isFormatAndEvidenceMissing;
    private isAssessmentMissing;
    private isReviewerMissing;
    private isOverseerMissing;
    private isGrcMissing;
    static ɵfac: i0.ɵɵFactoryDeclaration<ResponsibilityService, [null, null, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ResponsibilityService>;
}
