import { EventEmitter, OnInit, ChangeDetectorRef } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { VCLDateRange } from '../dateadapter/index'; import { VCLCalendarView, VCLCalendarDateModifier, VCLCalendarHandler, VCLCalendar } from './interfaces'; export declare type VCLCalendarSelectionMode = 'date' | 'multiple' | 'range' | 'month' | 'month-multiple' | 'month-range'; export declare class CalendarComponent implements OnInit, ControlValueAccessor, VCLCalendar { private handlers; private cdRef; constructor(handlers: VCLCalendarHandler[], cdRef: ChangeDetectorRef); _calendarHostClasses: boolean; view: VCLCalendarView; cvaDisabled: boolean; handler?: VCLCalendarHandler; value: VCLDate | VCLDate[] | VCLDateRange | undefined; viewDate?: VCLDate; dateModifiers?: VCLCalendarDateModifier[]; disabled: boolean; maxSelectableDates?: number; showWeekOfTheYear: boolean; valueChange: EventEmitter>; viewDateChange: EventEmitter; selectionMode: VCLCalendarSelectionMode | string; readonly isDisabled: boolean; onViewDateChange(source: VCLCalendarView, viewDate: VCLDate): void; onValueChange(source: VCLCalendarView, date: VCLDate): void; ngOnInit(): void; onLabelClick(source: VCLCalendarView): void; setValue(value: VCLDate | VCLDate[] | VCLDateRange, propagate: boolean): void; setViewDate(viewDate: VCLDate, propagate: boolean): void; setView(view: VCLCalendarView): void; onChange: (value: any) => void; onTouched: () => void; writeValue(value: any): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState?(isDisabled: boolean): void; }