import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core'; import { FormControl } from '@angular/forms'; import dayjs, { Dayjs } from 'dayjs/esm'; import { LocaleConfig } from './daterangepicker.config'; import { LocaleService } from './locale.service'; import * as i0 from "@angular/core"; export declare enum SideEnum { left = "left", right = "right" } export interface DateRanges { [index: string]: [Dayjs, Dayjs]; } export interface DateRange { label: string; dates: [Dayjs, Dayjs]; } export interface ChosenDate { chosenLabel: string; startDate: Dayjs; endDate: Dayjs; timezone?: string; avoidOnchange?: boolean; } export interface TimePeriod { [index: string]: Dayjs | string; startDate: Dayjs; endDate: Dayjs; timezone?: string; } export interface StartDate { startDate: Dayjs; } export interface EndDate { endDate: Dayjs; } interface TimePickerVariables { secondsLabel: string[]; selectedMinute: number; selectedSecond: number; hours: number[]; seconds: number[]; disabledHours: number[]; disabledMinutes: number[]; minutes: number[]; minutesLabel: string[]; selectedHour: number; disabledSeconds: number[]; amDisabled?: boolean; pmDisabled?: boolean; ampmModel?: string; selected: Dayjs; } interface TimePickerVariablesHolder { [index: string]: TimePickerVariables; } interface CalendarRowClasses { [index: number]: string; classList: string; } interface CalendarClasses { [index: number]: CalendarRowClasses; } interface Dropdowns { inMaxYear: boolean; yearArrays: number[]; maxYear: number; minYear: number; currentMonth: number; inMinYear: boolean; monthArrays: number[]; currentYear: number; } declare type CalendarArrayWithProps = T[] & { firstDay?: Dayjs; lastDay?: Dayjs; }; interface CalendarVariables { calRows: number[]; calCols: number[]; calendar: CalendarArrayWithProps; minDate: dayjs.Dayjs; year: number; classes: CalendarClasses; lastMonth: number; minute: number; second: number; daysInMonth: number; dayOfWeek: number; month: number; hour: number; firstDay: dayjs.Dayjs; lastYear: number; lastDay: dayjs.Dayjs; maxDate: dayjs.Dayjs; daysInLastMonth: number; dropdowns?: Dropdowns; } interface CalendarVariableHolder { [index: string]: CalendarVariables; } interface VisibleCalendar { month: Dayjs; calendar: CalendarArrayWithProps; } export declare class DaterangepickerComponent implements OnInit, OnChanges { private el; private ref; private localeHolderService; startDate: dayjs.Dayjs; endDate: dayjs.Dayjs; dateLimit: number; autoApply: boolean; singleDatePicker: boolean; showDropdowns: boolean; showWeekNumbers: boolean; showISOWeekNumbers: boolean; linkedCalendars: boolean; autoUpdateInput: boolean; showMiniTz: boolean; rangesFn: () => DateRanges; maxRangeFn: () => dayjs.Dayjs; alwaysShowCalendars: boolean; maxSpan: boolean; lockStartDate: boolean; timePicker: boolean; timePicker24Hour: boolean; timePickerIncrement: number; timePickerSeconds: boolean; showClearButton: boolean; firstMonthDayClass: string; lastMonthDayClass: string; emptyWeekRowClass: string; emptyWeekColumnClass: string; firstDayOfNextMonthClass: string; lastDayOfPreviousMonthClass: string; showCustomRangeLabel: boolean; showCancel: boolean; showLabel: boolean; keepCalendarOpeningWithRange: boolean; showRangeLabelOnInput: boolean; customRangeDirection: boolean; drops: string; opens: string; closeOnAutoApply: boolean; choosedDate: EventEmitter; rangeClicked: EventEmitter; datesUpdated: EventEmitter; startDateChanged: EventEmitter; endDateChanged: EventEmitter; cancelClicked: EventEmitter; clearClicked: EventEmitter; pickerContainer: ElementRef; chosenLabel: string; calendarVariables: CalendarVariableHolder; timepickerVariables: TimePickerVariablesHolder; daterangepicker: { start: FormControl; end: FormControl; }; applyBtn: { disabled: boolean; }; sideEnum: typeof SideEnum; chosenRange: string; timezoneList: any[]; chosenLabelWithoutTz: string; rangesArray: Array; isShown: boolean; inline: boolean; leftCalendar: VisibleCalendar; rightCalendar: VisibleCalendar; showCalInRanges: boolean; nowHoveredDate: any; pickingDate: boolean; protected timezonePickerVar: boolean; protected minDateHolder: dayjs.Dayjs; protected maxDateHolder: dayjs.Dayjs; protected localeHolder: LocaleConfig; protected rangesHolder: DateRanges; private cachedVersion; private timezoneOffset; private timezoneHolder; constructor(el: ElementRef, ref: ChangeDetectorRef, localeHolderService: LocaleService); get minDate(): dayjs.Dayjs; set minDate(value: dayjs.Dayjs | string); get timezone(): string; set timezone(value: string); get timezonePicker(): boolean; set timezonePicker(value: boolean); get locale(): LocaleConfig; set locale(value: LocaleConfig); get ranges(): DateRanges; set ranges(value: DateRanges); get maxDate(): dayjs.Dayjs; set maxDate(value: dayjs.Dayjs | string); isInvalidDate(date: Dayjs): boolean; isCustomDate(date: Dayjs): boolean; isTooltipDate(date: Dayjs): string | boolean | null; handleInternalClick(e: MouseEvent): void; ngOnChanges(changes: SimpleChanges): void; ngOnInit(): void; renderRanges(): void; renderTimePicker(side: SideEnum): void; renderCalendar(side: SideEnum): void; setStartDate(startDate: string | Dayjs): void; setEndDate(endDate: string | Dayjs): void; timeZoneChanged(tzone: string): void; updateView(): void; updateMonthsInView(): void; updateCalendars(): void; updateElement(): void; remove(): void; calculateChosenLabel(): void; clickApply(e?: MouseEvent, timezonepickerEnabled?: boolean): void; clickCancel(e: MouseEvent): void; monthChanged(monthEvent: Event, side: SideEnum): void; yearChanged(yearEvent: Event, side: SideEnum): void; timeChanged(timeEvent: Event, side: SideEnum): void; monthOrYearChanged(month: number, year: number, side: SideEnum): void; clickPrev(side: SideEnum): void; clickNext: (side: SideEnum) => void; hoverDate(e: Event, side: SideEnum, row: number, col: number): void; clickDate(e: Event, side: SideEnum, row: number, col: number): void; clickRange(e: MouseEvent, label: string): void; show(e?: Event): void; hide(e?: Event): void; updateLocale(locale: LocaleConfig): void; clear(): void; disableRange(range: string): boolean; private getDateWithTime; private buildLocale; private buildCells; private isTzUtc; private composeDayjsWithTz; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export {};