import { ElementRef, EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core'; import { ControlValueAccessor, FormControl } from '@angular/forms'; import { BehaviorSubject } from 'rxjs'; import { LogService } from '@ironsource/fusion-ui/services/log'; import { UniqueIdService } from '@ironsource/fusion-ui/services/unique-id'; import { DropdownSelectConfigurations } from '@ironsource/fusion-ui/components/dropdown-select/entities'; import { IconData } from '@ironsource/fusion-ui/components/icon/v1'; import { DaterangeCustomPreset, DaterangeOptions, DaterangePresets, DaterangeSelection } from '@ironsource/fusion-ui/components/daterange/entities'; import { CalendarComponentConfigurations } from '@ironsource/fusion-ui/components/calendar/common/base'; import { Day } from '@ironsource/fusion-ui/components/calendar/entities'; import { CalendarService } from '@ironsource/fusion-ui/components/calendar/common/base'; import { DaterangeService } from './daterange.service'; import { ApiBase } from '@ironsource/fusion-ui/components/api-base'; import { InputConfiguration } from '@ironsource/fusion-ui/components/input'; import * as i0 from "@angular/core"; export declare abstract class DaterangeBaseComponent extends ApiBase implements OnInit, OnDestroy, ControlValueAccessor { /** @internal */ daterangeService: DaterangeService; private calendarService; private elemRef; private logService; private uniqueIdService; /** @internal */ id: string; /** @internal */ presetsHeaderTemplate: TemplateRef; /** @internal */ minDate: Date; /** @internal */ maxDate: Date; /** @internal */ extraParams: any; set options(value: DaterangeOptions); get options(): DaterangeOptions; /** @internal */ closed: EventEmitter; /** @internal */ applied: EventEmitter; /** @internal */ daySelected: EventEmitter; /** @internal */ overlay: ElementRef; /** @internal */ chipContent: TemplateRef; /** @internal */ trigger: ElementRef; /** @internal */ dropdownSelectConfigurations$: BehaviorSubject; /** @internal */ pevIconName: IconData; /** @internal */ nextIconName: IconData; /** @internal */ isOpen$: BehaviorSubject; /** @internal */ error: string; /** @internal */ currentMonths: Date[]; /** @internal */ defaultOptions: DaterangeOptions; /** @internal */ selection: DaterangeSelection; /** @internal */ currentSelectionFormatted: string; /** @internal */ selectionStarted: Day; /** @internal */ originalSelection: DaterangeSelection; /** @internal */ currentPreset: DaterangePresets | DaterangeCustomPreset; /** @internal */ overlayAlign$: BehaviorSubject; /** @internal */ selected$: BehaviorSubject; /** @internal */ defaultPlaceholder: string; /** @internal for time selector */ fcHasTimeSelector: FormControl; /** @internal */ fcStartTime: FormControl; /** @internal */ fcEndTime: FormControl; /** @internal */ inputTimeOptions: InputConfiguration; protected daterangeOptions: DaterangeOptions; get isPresetsShown(): boolean; get isSingleDatePicker(): boolean; private originalMaxDate; private onDestroy$; constructor( /** @internal */ daterangeService: DaterangeService, calendarService: CalendarService, elemRef: ElementRef, logService: LogService, uniqueIdService: UniqueIdService); ngOnInit(): void; ngOnDestroy(): void; /** @internal */ changeConfig(val: string): void; /** @internal */ valueSelected(): import("rxjs").Observable<{ value: string; isSelected: boolean; }>; /** @internal */ open(): void; /** @internal */ selectPreset(preset: any, cohort?: number): void; /** @internal */ getCalendarConfigurations(month: Date): CalendarComponentConfigurations; /** @internal */ toggle(): void; /** @internal */ onOutsideClick(target: HTMLElement): void; /** @internal */ apply(): void; /** @internal */ close(): void; /** @internal */ onMonthChange(direction: string): void; /** @internal */ onSelectDay(day: Day): void; /** @internal */ getCurrentSelectionFormatted(): string; /** @internal */ onWriteValue(value: DaterangeSelection): void; /** @internal */ setPlaceholder(configurations?: DropdownSelectConfigurations): void; private validateClickOutside; private calculateOverlayAlignPosition; private determinePreset; private initMonth; protected onOptionsChanges(): void; private onSelectStartDate; private onSelectEndDate; private setRangeDaysLimit; private clearRangeDaysLimit; private isTimeSelectorValid; /** @internal */ setValueToPropagate(value: DaterangeSelection): DaterangeSelection; /** @internal */ propagateChange: (_: DaterangeSelection) => void; /** @internal */ writeValue(value: DaterangeSelection): void; /** @internal */ registerOnChange(fn: any): void; /** @internal */ registerOnTouched(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }