import * as _angular_platform_browser from '@angular/platform-browser'; import { DomSanitizer } from '@angular/platform-browser'; import * as i0 from '@angular/core'; import { OnInit, EventEmitter, ElementRef, ChangeDetectorRef, InjectionToken, FactoryProvider } from '@angular/core'; import { Day } from 'date-fns'; import { NovoLabelService } from 'novo-elements/services'; import { OverlayDate, DatePickerSelectModes, NovoDateSelectionStrategy, NovoMonthSelectEvent, NovoYearSelectEvent, NovoDateSelectEvent, DateLike, Day as Day$1 } from 'novo-elements/utils'; import * as i5 from '@angular/common'; import * as i6 from '@angular/forms'; import * as i7 from 'novo-elements/elements/button'; import * as i8 from 'novo-elements/pipes'; import * as i9 from 'novo-elements/elements/icon'; declare class NovoCalendarElement implements OnInit { labels: NovoLabelService; private element; private cdr; private _sanitizer; minYear: string | number; maxYear: string | number; minDate: string | number; maxDate: string | number; activeView: string; layout: string; _selected: Date[]; get selected(): Date[]; set selected(value: Date[]); selectedChange: EventEmitter; preview: Date[]; previewChange: EventEmitter; activeDateChange: EventEmitter; overlays: OverlayDate[]; disabledDateMessage: string; _activeDate: Date; _mode: DatePickerSelectModes; _numberOfMonths: number[]; _weekStartsOn: Day; _strategy: NovoDateSelectionStrategy; months: any; get activeDate(): Date; set activeDate(value: Date); get weekStartsOn(): Day; set weekStartsOn(value: Day); get numberOfMonths(): number; set numberOfMonths(value: number); get mode(): DatePickerSelectModes; set mode(value: DatePickerSelectModes); get hb_width(): _angular_platform_browser.SafeStyle; get hb_horiztonal(): boolean; get hb_vertical(): boolean; constructor(labels: NovoLabelService, element: ElementRef, cdr: ChangeDetectorRef, _sanitizer: DomSanitizer); ngOnInit(): void; updateView(activeDate: Date): void; setToday(): void; monthSelected({ event, month }: NovoMonthSelectEvent): void; yearSelected({ event, year }: NovoYearSelectEvent): void; dateSelected({ event, day }: NovoDateSelectEvent): void; updatePreview({ event, day }: NovoDateSelectEvent): void; prevMonth(event: Event): void; nextMonth(event: Event): void; openView(event: Event, type: string): void; _isRange(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NovoMonthViewElement implements OnInit { labels: NovoLabelService; private element; private cdr; private _sanitizer; minDate: Date; maxDate: Date; activeDate: Date; selected: DateLike[]; preview: DateLike[]; overlays: OverlayDate[]; disabledDateMessage: string; isRange: boolean; hideOverflowDays: boolean; _weekStartsOn: Day; get weekStartsOn(): Day; set weekStartsOn(value: Day); select: EventEmitter; hover: EventEmitter; weekdays: string[]; monthNames: string[]; monthLabel: string; weeks: any; constructor(labels: NovoLabelService, element: ElementRef, cdr: ChangeDetectorRef, _sanitizer: DomSanitizer); ngOnInit(): void; updateView(date: Date): void; onSelect(event: Event, day: Day$1): void; onHover(event: Event, day: Day$1): void; buildMonth(month: Date): void; buildWeek(date: Date, month: Date): Array; isDisabled(day: DateLike): boolean; /** Returns whether a cell should be marked as selected. */ _isSelected(value: DateLike): DateLike; /** Returns whether a cell should be marked as preview. */ _isPreview(value: DateLike): DateLike; /** Returns whether a cell should be marked as an overlay. */ _isOverlay(value: DateLike): OverlayDate; /** Returns whether a cell should be marked as an overlay. */ _hasOverlayType(value: DateLike): string; /** Gets whether a value is the start of the main range. */ _isRangeStart(value: DateLike): boolean; /** Gets whether a value is the end of the main range. */ _isRangeEnd(value: DateLike): boolean; /** Gets whether a value is within the currently-selected range. */ _isInRange(value: DateLike): boolean; /** Gets whether a value is the start of the preview range. */ _isPreviewStart(value: DateLike): boolean; /** Gets whether a value is the end of the preview range. */ _isPreviewEnd(value: DateLike): boolean; /** Gets whether a value is inside the preview range. */ _isInPreview(value: DateLike): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NovoMonthSelectElement implements OnInit { labels: NovoLabelService; activeDate: DateLike; selected: DateLike[]; select: EventEmitter; monthNames: string[]; constructor(labels: NovoLabelService); ngOnInit(): void; onSelect(event: Event, month: number): void; _isActive(month: number): boolean; _isSelected(month: number): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NovoYearSelectElement implements OnInit { labels: NovoLabelService; minYear: string | number; maxYear: string | number; activeDate: DateLike; selected: DateLike[]; select: EventEmitter; years: Array; constructor(labels: NovoLabelService); ngOnInit(): void; onSelect(event: Event, year: number): void; _isActive(year: number): boolean; _isSelected(year: number): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NovoCalendarModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** Injection token used to customize the date range selection behavior. */ declare const NOVO_DATE_SELECTION_STRATEGY: InjectionToken>; /** Provides the default date selection behavior. Single Date */ declare class DefaultDateSelectionStrategy implements NovoDateSelectionStrategy { selectionFinished(date: DateLike | null, currentValue: DateLike[], event: Event): DateLike[]; createPreview(activeDate: DateLike | null, [currentDate]: DateLike[]): DateLike[]; isSelected(activeDate: DateLike | null, [currentDate]: DateLike[]): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** @docs-private */ declare function NOVO_DATE_SELECTION_STRATEGY_PROVIDER_FACTORY(parent: NovoDateSelectionStrategy): NovoDateSelectionStrategy; /** @docs-private */ declare const NOVO_DATE_SELECTION_STRATEGY_PROVIDER: FactoryProvider; declare class MultiDateSelectionStrategy implements NovoDateSelectionStrategy { selectionFinished(dateLike: DateLike | null, currentValue: DateLike[], event: Event): DateLike[]; createPreview(activeDate: DateLike | null, currentValue: DateLike[]): DateLike[]; isSelected(activeDate: DateLike | null, currentValue: DateLike[]): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class RangeSelectionStrategy implements NovoDateSelectionStrategy { selectionFinished(date: DateLike, currentRange: DateLike[]): DateLike[]; createPreview(activeDate: DateLike | null, currentRange: DateLike[]): DateLike[]; isSelected(activeDate: DateLike | null, currentRange: DateLike[]): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class WeekSelectionStrategy implements NovoDateSelectionStrategy { private weekStartsOn; constructor(weekStartsOn?: Day); selectionFinished(date: DateLike | null): DateLike[]; createPreview(activeDate: DateLike | null): DateLike[]; private _createWeekRange; isSelected(activeDate: DateLike | null, currentRange: DateLike[]): boolean; } export { DefaultDateSelectionStrategy, MultiDateSelectionStrategy, NOVO_DATE_SELECTION_STRATEGY, NOVO_DATE_SELECTION_STRATEGY_PROVIDER, NOVO_DATE_SELECTION_STRATEGY_PROVIDER_FACTORY, NovoCalendarElement, NovoCalendarModule, NovoMonthSelectElement, NovoMonthViewElement, NovoYearSelectElement, RangeSelectionStrategy, WeekSelectionStrategy };