import { EventEmitter, OnInit } from "@angular/core";
import { FormBuilder, FormGroup } from "@angular/forms";
import { ActivatedRoute, Router } from "@angular/router";
import { TranslateService } from "@ngx-translate/core";
import { AdvancedFilterService, FilterControls, ProcessFilterType } from "@senior-gestao-pessoas/hcm-advanced-filter-general";
import { FormField, IToken } from "@seniorsistemas/angular-components";
import { Subject } from "rxjs";
import { CollectiveHistoryFiltersService } from "../../core/entities/collective-history-filters/collective-history-filters.service";
import { Employee } from "../../core/entities/employee/employee";
import { CompanyLookupService } from "../../shared/services/company-lookup.service";
export declare class CollectiveHistoryFiltersComponent implements OnInit {
    private companyLookupService;
    protected translate: TranslateService;
    private formBuilder;
    private advancedFilterService;
    private router;
    private route;
    private collectiveService;
    useEmployeeByCompany: boolean;
    onlySingleCompanySelectionPermission: boolean;
    parentFormGroup: FormGroup;
    formGroup: FormGroup;
    companiesSearchFields: FormField[];
    companiesSearchGridFields: FormField[];
    companiesLookupSuggestions: Employee[];
    companiesSearchGridData: Employee[];
    companiesSearchTotalRecords: number;
    companiesSearchTotalRecordsLabel: string;
    companySelected: any[];
    employeeSelected: any[];
    onCompanySelected: EventEmitter<any[]>;
    onEmployeeSelected: EventEmitter<any[]>;
    requiredEmployee: any;
    requiredCompany: any;
    disableContinue: boolean;
    allowCancel: boolean;
    collectiveAdvancedSearchTokens: IToken[];
    panelCollapsed: boolean;
    advancedFilterToken: IToken;
    employeeToken: IToken;
    companyToken: IToken;
    loading: boolean;
    ngUnsubscribe: Subject<unknown>;
    private formFilterType;
    filterControls: FilterControls;
    constructor(companyLookupService: CompanyLookupService, translate: TranslateService, formBuilder: FormBuilder, advancedFilterService: AdvancedFilterService, router: Router, route: ActivatedRoute, collectiveService: CollectiveHistoryFiltersService);
    ngOnInit(): void;
    onCompaniesLookupRequest(value: string): void;
    onCompaniesSearchRequest(event: any): void;
    private createFormGroup;
    onSelectCompanyIds(company: any): void;
    onClearCompanyIds(company: any): void;
    onClearSingleCompany(): void;
    onSelectEmployeeIds(employee: any): void;
    onClearEmployeeIds(employee: any): void;
    private employeesOrCompaniesArePresent;
    collectiveAdvancedSearch(): void;
    private validateAllFormFields;
    collectiveAdvancedClear(): void;
    private getCollectiveAdvancedFiltersList;
    collectiveAdvancedRemoveToken(token: IToken): void;
    private getCompanyTokenWhenEntityHasNoStructure;
    private getCompanyTokenWhenEntityHasStructure;
    onFilterTypeChanged(filterType: ProcessFilterType): void;
    private setCollectiveAdvancedSearchTokens;
    disableCollectiveAdvancedFiltersForm(isDisable: boolean): void;
    collectiveAdvancedCancel(): void;
    onCancel(): void;
    private goBack;
    enableFieldsOnFormGroup(): void;
    disableFieldsOnFormGroup(): void;
    companyRequiredError(): string;
    companySearchTitle(): string;
    isCompanyRequired(): boolean;
    isEmployeeRequired(): boolean;
}
