import { EventEmitter, OnInit } from '@angular/core';
import { ResponsibilityService } from '../../workflow-services/responsibility.service';
import { categoryList, programList } from './program-list-model';
import * as i0 from "@angular/core";
export declare class ProgramListingComponent implements OnInit {
    private responsibilityService;
    ASSETS: {
        responsibility_center: string;
        case_type: string;
        case_category: string;
        when: string;
        what: string;
        case_resolution_deadline: string;
        case_assignees: string;
        format_evidence: string;
        case_owners: string;
        link_controls: string;
        link_items: string;
        spreadsheet_multiple_category: string;
        recommended_action: string;
        risks: string;
        exception_type: string;
        priority: string;
        associated_risks: string;
        oversight: string;
        add_risk_more_option: string;
        lables: string;
        reviewer: string;
        checkpoints: string;
        assessments: string;
        objectives: string;
        audit: string;
        roles: string;
        approval: string;
        recurring: string;
        lock_scope: string;
        custom_fields: string;
        link_risks: string;
        placeholder: string;
        add_logic: string;
        image_choice: string;
        logic_image_choice: string;
        thank_you_image: string;
        upload: string;
        select_users: string;
        everyone_as_per_category: string;
        bulb: string;
        enter_icon: string;
        im_creating: string;
        notes: string;
        attestations: string;
        risk_category: string;
        issue_type: string;
        type: string;
        search_data: string;
        approval_workflow: string;
        sequential: string;
        round_robin: string;
        anyone: string;
        collaborator: string;
    };
    animation: boolean;
    subList: boolean;
    loader: boolean;
    programsList: any;
    selectedProgram: any;
    openedFrom: string;
    viewOnlyProgramsCategoryId: any[];
    selectedCategories: any[];
    tempSelectedCategories: any;
    set getSelectedCategories(category: any);
    responsibilityId: string;
    feature: any;
    hideProgramsList: any;
    mode: string;
    searchProgram: any;
    searchCategory: any;
    preservedSelectedPrograms: any;
    preservedProgramsId: any;
    preservePrimaryProgram: any;
    set getLinkedProgram(program: any);
    previousSelectedValues: any;
    programData: programList;
    programTabDataCount: any;
    categoryData: categoryList;
    showCategories: boolean;
    currentProgram: any;
    searchString: string;
    categorySearchString: string;
    activeTab: 'regulations' | 'standards' | 'internal_controls' | 'others';
    selectedIds: any[];
    categoryList: any[];
    blockWidth: any;
    programTypeObject: {
        regulations: number;
        standards: number;
        internal_controls: number;
        others: number;
    };
    displayConfirmationMessage: boolean;
    tempPrimaryProgram: any;
    primaryConfirmationMessage: string;
    isPrimaryConfirmation: boolean;
    isUncheckedProgram: boolean;
    isPrimaryUnchecked: boolean;
    selectedProgramsDetail: any;
    selectedProgramsId: any;
    programCountLoader: boolean;
    deprecatePrimaryProgramFlag: boolean;
    saveSelectedProgram: EventEmitter<any>;
    closeEvent: EventEmitter<any>;
    allCategories: any[];
    constructor(responsibilityService: ResponsibilityService);
    ngOnInit(): void;
    populateCategories(): void;
    handleSearch(event: any): void;
    categorySearch(event: any): void;
    selectProgram(event: any, program: any): void;
    /**
     * If the event is true, then push the program to the selectedProgramsDetail array. If the event is
     * false, then remove the program from the selectedProgramsDetail array.
     * @param {any} event - boolean
     * @param {any} program - any = {
     */
    updateSelectedPrograms(event: any, program: any): void;
    /**
     * If the currentProgram is set, then set the currentProgram to the program passed in, and set the
     * tempPrimaryProgram to the currentProgram.
     * If the currentProgram is not set, then set the currentProgram to the program passed in.
     * @param {any} event - any - the event that is triggered when the user clicks on the checkbox
     * @param {any} program - the program that is being selected
     */
    setPrimaryProgram(event: any, program: any): void;
    /**
     * If the user clicks "Yes" on the confirmation modal, then the function will remove the program from
     * the selectedProgramsDetail array and the selectedProgramsId array. If the user clicks "No" on the
     * confirmation modal, then the function will do nothing.
     * @param {boolean} event - boolean -&gt; this is the value of the checkbox
     */
    updatePrimaryProgram(event: boolean): void;
    selectAllCategories(value: boolean): void;
    checkCategoriesSelection(): "checked" | "unchecked" | "indeterminate";
    openCategories(): void;
    backToPrograms(): void;
    changeTab(type: 'regulations' | 'standards' | 'internal_controls' | 'others'): void;
    changePage(event: any, type: 'category' | 'program'): void;
    getProgramsList(paramsObject?: any): void;
    getProgramsCount(paramsObject?: any): void;
    selectedSubCategoryIds: any[];
    getCategoriesList(queryObject?: any): void;
    saveProgram(): void;
    selectCategory(mode: any, category: any): void;
    removeCategories(event: any): void;
    close(): void;
    save(): void;
    saveChanges(value: boolean): void;
    deleteEvent(event: any): void;
    getSelectedProgramCount(event?: boolean, programType?: number): void;
    /**
     * If the selectedProgram array has a length, then preserve the first element of the array as the
     * preservePrimaryProgram variable. Otherwise, set the preservePrimaryProgram variable to an empty
     * object.
     *
     * If the selectedProgramsId array has a length, then preserve the array as the preservedProgramsId
     * variable. Otherwise, set the preservedProgramsId variable to an empty array.
     *
     * If the selectedProgramsDetail array has a length, then preserve the array as the
     * preservedSelectedPrograms variable. Otherwise, set the preservedSelectedPrograms variable to an
     * empty array.
     *
     * If the selectedProgram array does not have a length, then set the selectedProgramsDetail array to
     * an empty array and the selectedProgramsId array to an empty array.
     */
    preservePreviousDetails(): void;
    programSubTab: 'PROGRAMS' | 'OTHER_PROGRAMS';
    setProgramSubTab(tab: 'PROGRAMS' | 'OTHER_PROGRAMS'): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ProgramListingComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ProgramListingComponent, "app-program-listing", never, { "programsList": { "alias": "programsList"; "required": false; }; "selectedProgram": { "alias": "selectedProgram"; "required": false; }; "openedFrom": { "alias": "openedFrom"; "required": false; }; "getSelectedCategories": { "alias": "selectedCategories"; "required": false; }; "responsibilityId": { "alias": "responsibilityId"; "required": false; }; "feature": { "alias": "feature"; "required": false; }; "hideProgramsList": { "alias": "hideProgramsList"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "getLinkedProgram": { "alias": "linkedProgram"; "required": false; }; }, { "saveSelectedProgram": "saveSelectedProgram"; "closeEvent": "closeEvent"; }, never, never, false, never>;
}
