/** * @license * Copyright Datorama. All Rights Reserved. * * Use of this source code is governed by an Apache License 2.0 license that can be * found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE */ import { ChangeDetectorRef, EventEmitter, NgZone, OnDestroy, OnInit, QueryList } from '@angular/core'; import { DatePickerMonthComponent } from '../date-picker-month/date-picker-month.component'; import { FormControl, FormGroup, NgControl } from '@angular/forms'; import { ClassRange, DateRange, DisableRanges, RelativeDateType } from '../date-picker.types'; import { DatoPopover } from '../../popover/popover.service'; import { DatePickerConfig } from '../date-picker-config'; import { DatoTranslateService } from '../../services/translate.service'; export declare class DatoDatePickerRangeComponent implements OnInit, OnDestroy { private config; private zone; private parentControl; private cdr; private popover; private translate; monthsShown: 1 | 2 | 3; format: any; showRelativeDateType: boolean; customRangeLabel: string; disableRanges: DisableRanges; classRanges: ClassRange[]; relativeTo: RelativeDateType; set rangeList(ranges: DateRange[]); ranges: DateRange[]; showCustomList: boolean; relativeDateChange: EventEmitter; /** Emit a selection without apply */ selection: EventEmitter>; monthsComponents: QueryList; readonly DATE_FORMAT_LOCALE: { locale: Locale; }; months: Date[]; currentRange: Partial; dateRangeControl: FormControl; rangeInputs: FormGroup; calendarTypeControl: FormControl; relativeDateControl: FormControl; hasCustomSupport: boolean; calendarTypeTogglerLabel: string; relativeDateList: { id: RelativeDateType; label: string; }[]; isMobile: boolean; private baseDate; private viewInit; private rangesList; private rangeListInput; get from(): Date; get to(): Date; get control(): FormControl; get rangeInputsType(): string; get _showRelativeDateType(): boolean; constructor(config: DatePickerConfig, zone: NgZone, parentControl: NgControl, cdr: ChangeDetectorRef, popover: DatoPopover, translate: DatoTranslateService); ngOnInit(): void; ngAfterViewInit(): void; setRangeInputs(): void; writeValue(range: DateRange): void; apply(): void; cancel(): void; setDate(day: Date): void; monthChange(range: DateRange): void; changeMonth(offset: number): void; ngOnDestroy(): void; private findRange; private handleDateRangeSelection; private reDrawMonthsSafe; private handleFormControl; private defineRanges; private setRangeControl; private updateRangeDates; private selectCustomDateOption; private normalizeRange; private setRange; private setRangeInMonths; private handleRangeInputs; private handleRelativeDate; private handleCalenderTypeChange; private setCalendarType; private emitSelection; private getCustomDate; private setCustomRangeLabels; }