import { OnInit, TemplateRef, ChangeDetectorRef, EventEmitter, OnChanges } from '@angular/core';
import { BsModalRef, BsModalService } from 'ngx-bootstrap';
import { DependencyService } from './dependency.service';
import { FormBuilder, FormGroup } from '@angular/forms';
import { TranslateService } from '@ngx-translate/core';
export declare class SearchDependencyMultiChoiceComponent implements OnInit, OnChanges {
    private ref;
    private translate;
    private modalService;
    private dependecyService;
    private _formBuilder;
    preSelectedFields: any[];
    dependenciesLabel: any[];
    selectedFields: any[];
    modalRef: BsModalRef;
    dependencies: any;
    selectedOptions: any;
    preSelectedOptions: any;
    formGroup: FormGroup;
    emitValues: any;
    previewText: string;
    preSelectedValues: any[];
    userRestrict: any;
    itemsSelected: EventEmitter<any>;
    constructor(ref: ChangeDetectorRef, translate: TranslateService, modalService: BsModalService, dependecyService: DependencyService, _formBuilder: FormBuilder);
    ngOnInit(): void;
    ngOnChanges(): void;
    setValuesFromParent(): void;
    setFilterListener(): void;
    cleanFilter(): void;
    /**
     * Get all academic dependencies
     */
    getDependecies(userRestrict: any): void;
    /**
     * Open reports modal
     * @param template
     */
    openModal(template: TemplateRef<any>): void;
    /** Set selected items
     *
     */
    setSelectedItems(event: any): void;
    /**
     * Set preselected items
     * @param event
     */
    setPreSelectedItems(event: any): void;
    /**
     * Triggers event when smth in selected select changes
     * @param event
     */
    selectedChanges(event: any): void;
    /**
     * Triggers event when smth in preselected select changes
     * @param event
     */
    preSelectedChanges(event: any): void;
    /**
     * Set many items from selected list
     */
    setMultipleSelectFields(): void;
    /**
     * Set many items from preselected list
     */
    setMultiplePreSelectFields(): void;
    /**
     * Set all items to preselected list
     */
    setAllPreselectedItems(): void;
    /**
     * Set all items to selected list
     */
    setAllSelectedItems(): void;
    /**
     * Removes items by label
     * @param list
     * @param item
     */
    removeItemInListFields(list: any, item: string): void;
    /**
     * Set items and emits selected items events
     */
    setItems(): void;
    close(): void;
    /**
     * Produce a string with all externalId dependencies selected
     * @param array
     */
    preparePreviewText(array: any[]): any;
}
