import { OnDestroy, OnInit, TemplateRef } from "@angular/core";
import { FormBuilder, FormGroup } from "@angular/forms";
import { ActivatedRoute, Router } from "@angular/router";
import { TranslateService } from "@ngx-translate/core";
import { FormField, IToken } from "@seniorsistemas/angular-components";
import { HotkeysService } from "angular2-hotkeys";
import { ConfirmationService, LazyLoadEvent, MenuItem, MessageService, SortMeta } from "primeng/api";
import { Table } from "primeng/table";
import { E070EmpService } from '../../../../core/entities/e-070-emp/e-070-emp.service';
import { E070FilService } from '../../../../core/entities/e-070-fil/e-070-fil.service';
import { EmployeeService } from "../../../../core/entities/employee/employee.service";
import { WorkshiftHistory } from "../../../../core/entities/workshift-history/workshift-history";
import { WorkshiftHistoryService } from "../../../../core/entities/workshift-history/workshift-history.service";
import { WorkshiftService } from "../../../../core/entities/workshift/workshift.service";
import { FiltersStorageService } from "../../../../shared/storage/filters-storage.service";
import { PaginatorStorageService } from "../../../../shared/storage/paginator-storage.service";
import { BaseCollectiveHistoryComponent } from "../../../base-collective-history/base-collective-history.component";
import { EmployeeLookupService, EntityLookupConfigService } from "@senior-gestao-pessoas/hcm-entity-lookups";
export declare class WorkshiftHistoryListComponent extends BaseCollectiveHistoryComponent implements OnInit, OnDestroy {
    private router;
    private route;
    private workshiftHistoryService;
    private confirmationService;
    protected translate: TranslateService;
    protected messageService: MessageService;
    private hotkeysService;
    private formBuilder;
    private filtersStorageService;
    private paginatorStorageService;
    protected employeeService: EmployeeService;
    private workshiftService;
    private companyService;
    private companyBranchService;
    private employeeLookupService;
    private readonly configService;
    allPermissions: any;
    permissions: any;
    localeConfig: any;
    currentListParams: ListParams;
    gridData: WorkshiftHistory[];
    gridColumns: any[];
    showLoader: boolean;
    totalRecords: number;
    selection: WorkshiftHistory[];
    filterFields: FormField[];
    filterFormGroup: FormGroup;
    filtersPanelCollapsed: boolean;
    searchTokens: IToken[];
    serverError: boolean;
    filtersLoaded: boolean;
    table: Table;
    workshiftGroupLookupDisplayFields: string[];
    workshiftGroupAdvancedDisplayFields: string[];
    workshiftLookupDisplayFields: string[];
    workshiftAdvancedDisplayFields: string[];
    employeeLookupDisplayFields: string[];
    employeeAdvancedDisplayFields: string[];
    companyLookupDisplayFields: string[];
    companyAdvancedDisplayFields: string[];
    companyBranchLookupDisplayFields: string[];
    companyBranchAdvancedDisplayFields: string[];
    customTemplate: TemplateRef<any>;
    customFilterFields: TemplateRef<any>;
    customGridColgroup: TemplateRef<any>;
    customGridHeader: TemplateRef<any>;
    customGridBody: TemplateRef<any>;
    collectiveActions: MenuItem[];
    contractTypeOptions: {
        label: string;
        value: string;
    }[];
    private workshiftLookupSuggestionsObservable;
    private workshiftLookupSearchObservable;
    private employeeLookupSuggestionsObservable;
    private employeeLookupSearchObservable;
    private companyLookupSuggestionsObservable;
    private companyLookupSearchObservable;
    private companyBranchLookupSuggestionsObservable;
    private companyBranchLookupSearchObservable;
    private resetGridSubject;
    constructor(router: Router, route: ActivatedRoute, workshiftHistoryService: WorkshiftHistoryService, confirmationService: ConfirmationService, translate: TranslateService, messageService: MessageService, hotkeysService: HotkeysService, formBuilder: FormBuilder, filtersStorageService: FiltersStorageService, paginatorStorageService: PaginatorStorageService, employeeService: EmployeeService, workshiftService: WorkshiftService, companyService: E070EmpService, companyBranchService: E070FilService, employeeLookupService: EmployeeLookupService, configService: EntityLookupConfigService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    setHotkeys(): void;
    onRouteDataChange(data: any): void;
    private hasEmpty;
    onSearch(): void;
    onClear(): void;
    onRemoveToken(token: IToken): void;
    onGridChange(event: LazyLoadEvent): void;
    onAdd(): void;
    onEdit(): void;
    onDelete(): void;
    focusInput(elementId: string): void;
    getLabelValue(contents: any[], displayFields: any[]): any[];
    onWorkshiftLookupRequest(value: string): void;
    onWorkshiftSearchRequest(event: any): void;
    onEmployeeLookupRequest(value: string): void;
    onEmployeeSearchRequest(event: any): void;
    getProp(obj: any, path: any): any;
    private getGridColumns;
    private setupLookupConfig;
    private getFilterFields;
    private setStorageFiltersIntoForm;
    private setStoragePaginator;
    private getEnumQuery;
    private getWorkshiftSearchFields;
    private getWorkshiftSearchGridFields;
    private getEmployeeSearchFields;
    private getEmployeeSearchGridFields;
    onCompanyLookupRequest(value: string): void;
    onCompanySearchRequest(event: any): void;
    onCompanyBranchLookupRequest(value: string): void;
    onCompanyBranchSearchRequest(event: any): void;
    private getCompanySearchFields;
    private getCompanySearchGridFields;
    private getCompanyBranchSearchFields;
    private getCompanyBranchSearchGridFields;
    updateGrid(listParams?: ListParams): void;
    resetGrid(listParams?: ListParams): void;
    private validateAllFormFields;
    getSortField(): SortMeta[];
    getPageSize(): number;
    getRowIndex(): number;
    private loadLabelFromEnum;
    onAddCollective(): void;
    onRemoveCollective(): void;
}
interface ListParams {
    page?: number;
    size?: number;
    sort?: SortMeta[];
    filterData?: any;
}
export {};
