import { OnInit, EventEmitter, QueryList } from '@angular/core';
import { DiariseOptionModel } from '../../models/diarise-option.model';
import { E5coreUiDatepickerComponent } from '../e5core-ui-datepicker/e5core-ui-datepicker.component';
import { BehaviorSubject } from 'rxjs';
import { WorkItemModel } from '../../models/work-item';
import { WorkMenuItemFoundationService, WorkItemFoundationService } from 'e5core-angular-services';
import { DatePipe } from '@angular/common';
import { DiariseReasonModel } from '../../models/diarise-reason.model';
import { DiariseWorkEvent } from '../../events/diarise-work-event';
export declare class E5coreUiWorkDiariseComponent implements OnInit {
    private workItemFoundationService;
    private workMenuItemService;
    private locale;
    private datePipe;
    workItem$: BehaviorSubject<WorkItemModel>;
    diariseReasons$: BehaviorSubject<DiariseReasonModel>;
    dateChange: EventEmitter<any>;
    reasonTextChange: EventEmitter<any>;
    reasonChange: EventEmitter<any>;
    diariseWork: EventEmitter<DiariseWorkEvent>;
    timeChange: EventEmitter<any>;
    periodOptions: DiariseOptionModel[];
    reasons: DiariseReasonModel[];
    diariseReasonPropertyId: string;
    displayedDate: Date;
    displayedTime: string;
    diariseReasonPlaceHolder: string;
    diariseReasonTextValue: string;
    diariseReasonOption: string;
    showDiariseTime: boolean;
    showDiariseButton: boolean;
    showDiariseReasonDropdown: boolean;
    workItemModel: WorkItemModel;
    workId: string;
    diarisePeriodOption: DiariseOptionModel;
    diariseWorkEvent: DiariseWorkEvent;
    private _diariseDate;
    diariseDate: Date;
    datePickerComponents: QueryList<E5coreUiDatepickerComponent>;
    constructor(workItemFoundationService: WorkItemFoundationService, workMenuItemService: WorkMenuItemFoundationService, locale: string, datePipe: DatePipe);
    ngOnInit(): void;
    private calculateDiariseDate;
    private setDatePickerDate;
    private formatAMPM;
    onDiarisePeriodOptionClick($event: any): void;
    onDiariseButtonClick($event: DiariseWorkEvent): void;
    onDiariseDateChange($event: any): void;
    onDiariseReasonTextChange($event: any): void;
    onDiariseReasonChange($event: any): void;
    onTimeChange(time: any): void;
    GetDiariseReasons(): void;
    DiariseWorkItem(): void;
    ConstructWorkDiariseEvent(eventSource: any): DiariseWorkEvent;
    ConvertTime12to24(time12h: any): string;
}
