import { AfterViewChecked, AfterViewInit, ChangeDetectorRef, ElementRef, OnDestroy, OnInit, TemplateRef } from "@angular/core";
import { FormBuilder, FormGroup } from "@angular/forms";
import { DomSanitizer } from "@angular/platform-browser";
import { ActivatedRoute, Router } from "@angular/router";
import { TranslateService } from "@ngx-translate/core";
import { AnnotationTypeLookupService, EmployeeLookupService } from "@senior-gestao-pessoas/hcm-entity-lookups";
import { DynamicConfig, FormField } from "@seniorsistemas/angular-components";
import { HotkeysService } from "angular2-hotkeys";
import { ConfirmationService, MessageService } from "primeng/api";
import { Observable } from "rxjs";
import { AnnotationHistoryAttachment } from "../../../../core/entities/annotation-history-attachment/annotation-history-attachment-dto";
import { AnnotationHistoryAttachmentService } from "../../../../core/entities/annotation-history-attachment/annotation-history-attachment.service";
import { AnnotationHistory } from "../../../../core/entities/annotation-history/annotation-history";
import { AnnotationHistoryService } from "../../../../core/entities/annotation-history/annotation-history.service";
import { BaseHistoryService } from "../../../../core/entities/base-history/base-history.service";
import { CollectiveHistoryFiltersService } from "../../../../core/entities/collective-history-filters/collective-history-filters.service";
import { Employee } from "../../../../core/entities/employee/employee";
import { EmployeeService } from "../../../../core/entities/employee/employee.service";
import { CollectiveProcessType } from "../../../../core/enums/collective-process-type";
import { FileValidation } from "../../../../core/enums/file-validation";
import { FocusService } from "../../../../shared/focus/focus.service";
import { FieldCustomizationService } from "../../../../shared/services/field-customization.service";
import { PlatformService } from "../../../../shared/services/platform.service";
import { ClockingEventComponent } from "../../../clocking-event-component/clocking-event.component";
export declare class AnnotationHistoryFormComponent extends ClockingEventComponent implements OnInit, OnDestroy, AfterViewInit, AfterViewChecked {
    private annotationHistoryService;
    private router;
    private route;
    messageService: MessageService;
    private confirmationService;
    private formBuilder;
    translate: TranslateService;
    private hotkeysService;
    private fieldCustomization;
    private focusService;
    private annotationTypeLookupService;
    employeeService: EmployeeService;
    baseService: BaseHistoryService;
    platformService: PlatformService;
    private cd;
    collectiveService: CollectiveHistoryFiltersService;
    private readonly sanitizer;
    private annotationHistoryAttachmentService;
    private employeeLookupService;
    static ENTITY: string;
    static DOMAIN: string;
    static SERVICE: string;
    static HISTORY_NAME: string;
    localeConfig: any;
    currencyLocaleOptions: any;
    permissions: any;
    allPermissions: any;
    customizationPermission: {
        visualizar: false;
    };
    formGroup: FormGroup;
    loading: boolean;
    mainPanelCollapsed: boolean;
    isUsingTable: boolean;
    responsibleLookupSuggestions: Employee[];
    responsibleLookupDisplayFields: string[];
    responsibleAdvancedDisplayFields: string[];
    responsibleLookupSeparator: string;
    responsibleSearchFields: FormField[];
    responsibleSearchGridFields: FormField[];
    responsibleSearchGridData: Employee[];
    responsibleSearchTotalRecords: number;
    errorMessages: {
        required: any;
        min: any;
        max: any;
        minlength: any;
        maxlength: any;
        pattern: any;
        cnpjNotValid: any;
        dateBeforeAdmission: any;
        dateAfterDismissal: any;
        messageProcessNumberRequires17Or21Figures: any;
        messageProcessNumberRequires20Figures: any;
        messageProcessNumberRequires10Figures: any;
        justifiedDaysQuantityMustBeLowerThanEndDate: any;
        timeMustNotBeZero: any;
        estimatedEndDateMustBeGreaterThanOrEqualToStartDate: any;
        endDateMustBeGreaterThanOrEqualToStartDate: any;
    };
    customTemplate: TemplateRef<any>;
    customFormFields: TemplateRef<any>;
    collectiveProcessType: CollectiveProcessType;
    files: Blob[];
    listFiles: AnnotationHistoryAttachment[];
    private countBeforeUploadFile;
    private countAfterUploadFile;
    protected routeParams: any;
    configAnnotation: DynamicConfig[];
    constructor(annotationHistoryService: AnnotationHistoryService, router: Router, route: ActivatedRoute, messageService: MessageService, confirmationService: ConfirmationService, formBuilder: FormBuilder, translate: TranslateService, hotkeysService: HotkeysService, fieldCustomization: FieldCustomizationService, focusService: FocusService, annotationTypeLookupService: AnnotationTypeLookupService, employeeService: EmployeeService, baseService: BaseHistoryService, platformService: PlatformService, cd: ChangeDetectorRef, collectiveService: CollectiveHistoryFiltersService, sanitizer: DomSanitizer, annotationHistoryAttachmentService: AnnotationHistoryAttachmentService, employeeLookupService: EmployeeLookupService);
    ngOnInit(): void;
    ngAfterViewChecked(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    setHotkeys(): void;
    isNew(): boolean;
    onRouteParamsChange(params: any): void;
    updateSuggestions(value: any): void;
    getSuggestionValue(displayFields: string[], ownerEntity: string, value: any, separator: string): any;
    onRouteDataChange(data: any): void;
    onCancel(): void;
    onSendFile(filesToDelete: any, filesToCommit: any[]): Observable<{}>;
    onSave(): void;
    onSaveCollective(): void;
    onSaveSingle(): void;
    onDeleteCollective(): void;
    onDelete(): void;
    private doAfterProcessAndResetFormGroup;
    private resetFormGroup;
    getProp(obj: any, path: any): any;
    onResponsibleLookupRequest(value: string): void;
    onResponsibleSearchRequest(event: any): void;
    private getFormGroup;
    getResponsibleSearchFields(): FormField[];
    private getResponsibleSearchGridFields;
    protected goBack(): void;
    private validateAllFormFields;
    private getSaveObservable;
    private getDeleteObservable;
    private validateVisualization;
    private loadLabelFromEnum;
    getFilterDismissalResponsible(filterData: string): string;
    onSelectAnnotationType($event: any): void;
    onClearAnnotationType(): void;
    createHistoryDTO(startDate: any, dtoContent: any): AnnotationHistory;
    getSaveButtonPermissions(): boolean;
    getDeleteButtonPermissions(): boolean;
    getFormGeneralTitle(): string;
    private getCollectiveFormTitle;
    isUsingTableChange(): boolean;
    onUpload(event: {
        files: AnnotationHistoryAttachment[];
    }): void;
    get saveDisable(): boolean;
    private doUpload;
    private saveFile;
    onRemoveFile(event: {
        file: AnnotationHistoryAttachment;
    }): void;
    onCancelUpload(event: number): void;
    fileValidationErrors(event: FileValidation): void;
    onDownloadFile(event: {
        index: number;
        anchor: ElementRef;
    }): void;
}
