import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, Renderer2, TemplateRef } from "@angular/core"; import { ControlContainer, ControlValueAccessor } from "@angular/forms"; import { DateService } from "../../utilities/service/date.service"; import { FormatObject } from "./date-picker.interface"; import { BzDatePickerService } from "./date-picker.service"; import { BzLocaleService } from "../../locale/locale.service"; import { PickerDate } from "../../utilities/type/type"; export declare class BzDatePickerDirective implements AfterViewInit, OnDestroy, ControlValueAccessor { private datePickerService; private elementRef; private _renderer2; private _dateService; private _localeService; private _controlContainer; private _subscriptionArray; private _isOpen; onChanged: any; onTouched: any; private _timePickerValue; private _rangePickerValue; locale: string; private _date; private _subscription; private _isDateFormat; private _formControl; datePicker: TemplateRef | any; set timePicker(value: boolean | string); dateFormat: string; set rangePicker(value: boolean | string); formControlName: string; isPlaceholder: boolean; dateChange: EventEmitter; disabledInput: EventEmitter; constructor(datePickerService: BzDatePickerService, elementRef: ElementRef, _renderer2: Renderer2, _dateService: DateService, _localeService: BzLocaleService, _controlContainer: ControlContainer); ngOnInit(): void; ngAfterViewInit(): void; /** * Set locale. * * @author Federico Gambardella * @return {void} */ setLocale(): void; /** * Set dateFormat by locale. * * @author Federico Gambardella */ private _setDateFormatByLocale; /** * Check date format at start. * * @author Federico Gambardella */ private _checkDateFormatAtStart; /** * Set placeholder by date format. * * @author Federico Gambardella * @return {void} */ private _setPlaceholderByDateFormat; /** * Set date format for timepicker mode. * * @author Federico Gambardella * @param {DatePicker | undefined } pickerInstance * @return {void} */ private _setDateFormatForTimePicker; /** * Serialize date input. * * @author Federico Gambardella * @param {Date} value * @return {Date} */ private _stringifyDateInput; /** * Open picker on input click. * * @author Federico Gambardella * @param {Event} event * @return {void} */ onClick(event: Event): void; /** * Open picker and write value. * * @author Federico Gambardella * @param {DatePickerParams} params * @return {void} */ private _openPickerAndWriteValue; /** * Write value. * * @author Federico Gambardella * @param {PickerDate} value * @return {void} */ writeValue(value: PickerDate): void; /** * Update form value. * * @author Federico Gambardella * @param {PickerDate} value */ private _updateFormValue; /** * Convert input value in string. * * @author Federico Gambardella * @param {PickerDate} value * @return {void} */ private _stringifyInputValue; /** * Convert range date to string. * * @author Federico Gambardella * @param {any} value * @return {void} */ private _stringifyRangeInput; registerOnChange(fn: (item: any) => void): void; registerOnTouched(fn: () => void): void; /** * Write date on input. * * @author Federico Gambardella * @return {void} */ onInput(): void; /** * Get time regex. * * @author Federico Gambardella * @returns */ private _getTimeRegex; private _parseStringByCondition; /** * Parse string for create new date. * * @author Federico Gambardella * @param {string} value * @param {string} format * @returns {Date | null} */ parseStringForDate(value: string, format: string): Date | null; /** * Build date by date format. * * @author Federico Gambardella * @param {string} dateString * @param {string} format * @param {string} time * @returns {Date | null} */ private _buildDateByFormat; /** * Parse string for range date. * * @author Federico Gambardella * @param {string} value * @param {string} format * @returns {PickerDate} */ private _parseStringForRangeDate; /** * Build date. * * @author Federico Gambardella * @param {string[]} valueSplitted * @param {string} delimiter * @returns {Date} */ buildDate(valueSplitted: string[], delimiter: string, time: string): Date; /** * Check hour. * * @author Federico Gambardella * @param {number} hours * @returns {number} */ private _checkHour; /** * Check minutes. * * @author Federico Gambardella * @param {number} minutes * @returns {number} */ private _checkMinutes; /** * Get format date position. * * @author Federico Gambardella * @param {string} format * @param {string} delimiter * @returns {FormatObject} */ getFomatPosition(format: string, delimiter: string): FormatObject; /** * Parse string to get hours and minutes. * * @author Federico Gambardella * @param {string} time * @returns {TimePicker} */ private _parseStringForTime; /** * Set disabled status. * * @author Federico Gambardella * @param {boolean} isDisabled */ setDisabledState(isDisabled: boolean): void; ngOnDestroy(): void; }