import { EventEmitter, OnInit } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { ActivatedRoute, Router } from '@angular/router';
import { ButtonType } from '@gouvfr-anct/mediation-numerique/shared';
import { TypeModal } from '../../models/enum/typeModal.enum';
import { Category } from '../../models/category.model';
import { Filter } from '../../models/filter.model';
import { Module } from '../../models/module.model';
import { SearchRepository } from '../../repositories/search.repository';
import * as i0 from "@angular/core";
export declare class StructureListSearchComponent implements OnInit {
    readonly searchService: SearchRepository;
    private fb;
    private activatedRoute;
    private route;
    private router;
    searchEvent: EventEmitter<any>;
    locate: boolean;
    addStructureFormModal: boolean;
    buttonTypeEnum: typeof ButtonType;
    searchForm: FormGroup;
    modalTypeOpened: TypeModal;
    checkedModulesFilter: Module[];
    numberTrainingChecked: number;
    numberAccompanimentChecked: number;
    numberPublicChecked: number;
    numberEquipmentChecked: number;
    numberMoreFiltersChecked: number;
    categoriesTraining: Category[];
    categoriesAccompaniment: Category[];
    categoriesPublic: Category[];
    categoriesEquipment: Category[];
    categoriesMoreFilters: Category[];
    queryString: string;
    isConfirmationModalOpen: boolean;
    confirmationModalContent: string;
    constructor(searchService: SearchRepository, fb: FormBuilder, activatedRoute: ActivatedRoute, route: ActivatedRoute, router: Router);
    ngOnInit(): void;
    convertModulesTofilters(modules: Module[], term?: string): Filter[];
    get TypeModal(): typeof TypeModal;
    clearInput(): void;
    applyFilter(term: string): void;
    fetchResults(checkedModules: Module[]): void;
    countCheckFiltersOnModules(checkedModules: Module[]): void;
    getModalCategory(): Category[];
    openModal(modalType: TypeModal): void;
    closeModal(): void;
    externalCheckboxCheck(event: any, categ: any, displayName: any): void;
    private getData;
    resetFilters(): void;
    removeFilter(module: Module): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<StructureListSearchComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<StructureListSearchComponent, "app-structure-list-search", never, {}, { "searchEvent": "searchEvent"; }, never, never, false>;
}
