import { FormGroup } from "@angular/forms";
import { TranslateService } from "@ngx-translate/core";
import { StructureParams } from "@senior-gestao-pessoas/hcm-entity-lookups";
import { Message, MessageService } from "primeng/api";
import { Subject } from "rxjs";
import { EmployeeData } from "../../core/dtos/employee-data";
import { BaseHistoryService } from "../../core/entities/base-history/base-history.service";
import { PlatformService } from "../../shared/services/platform.service";
export declare class BaseHistoryComponent {
    protected translate: TranslateService;
    protected baseService?: BaseHistoryService;
    protected platformService?: PlatformService;
    protected messageService?: MessageService;
    employeeData: EmployeeData;
    gridColumnsEmployee: any[];
    registerFieldsForValidation: any[];
    employeeFieldsForValidation: any[];
    startDateDisable: boolean;
    formGroup: FormGroup;
    loading: boolean;
    ngUnsubscribe: Subject<unknown>;
    domain: string;
    service: string;
    entity: string;
    structureParams: StructureParams;
    logsURL: string;
    processed: Message[][];
    useBaseHistoryStructure: boolean;
    isPreviewEmployee: boolean;
    registerStructures: string[];
    dateFormat: string;
    constructor(translate: TranslateService, baseService?: BaseHistoryService, platformService?: PlatformService, messageService?: MessageService);
    set employee(employeeData: EmployeeData);
    setValueEmployee(labelEmployee?: string): any;
    filterByEmployee(filterData: string): any;
    /**
     * Retorna um filtro para listar os registros de uma determinada estrutura
     * @param filterData filtro que vem do lookup, caso tenha algum;
     * @param useValidity parametro que diz se a entidade tem ou não validade;
     */
    getFilterRegisterByStartDate(filterData: string, useValidity?: boolean): string;
    private getFilterStructureCompanyHistoryByStartDate;
    private onChangeStartDate;
    getStructureCompanyHistoryByCompanyId(startDate: any): void;
    private onSelectEmployee;
    updateStructureParamsLookup(dto: any): void;
    setValidatorStartDate($event: any, entityName: string): void;
    /**
     * Seta validação na data inicial com base na validade do registro.
     * Quando tiver registro seta as validações de data tem que ser maior que a data inicial e menor que a data final.
     * Quando não tiver registro selecionada seta apenas a validação de campo obrigatório
     * @param entity entidade
     */
    setValidatorRegisterValidity(register: any): any[];
    /**
     * Seta validação na data inicial com base na data de admissão e demissão do colaborador
     * Quando tiver colaborador seta as validações de data tem que ser maior que admissão e menor que a demissão.
     * Quando não tiver colaborador selecionado seta apenas a validação de campo obrigatório
     * @param $event colaborador
     */
    setValidatorStartDateByEmployee($event: any): any[];
    private onEditDisableFields;
    startFuncionsByBaseHistory(labelEmployee?: string): void;
    startFuncionsByBaseHistoryInEdit(value: any): void;
    private subscribeValuesChanges;
    getDisableRegister(isCollective: any, isNew: any, permissions: any, isClockingEvent?: any): boolean;
}
