import { Panel } from './base-date-picker.class'; import { DateTime } from './date-time.class'; import { DateType, ECalendarNavigation, ECalendarType, EHourFormat } from './enums'; import { Observable } from 'rxjs'; import { LCDatePickerAdapter } from './lc-date-picker-adapter.class'; export interface ITime { hour: number; minute: number; } export interface IDisabledTimeRange { startTime: ITime; stopTime: ITime; } export interface ILabels { confirmLabel?: string; fromLabel?: string; toLabel?: string; } export interface IColorTheme { primaryColor: string; fontColor: string; } export interface IDateTimeRange { dateTimeFrom: DateTime; dateTimeTo: DateTime; } export interface IDatePickerConfiguration { value: string; calendarType?: ECalendarType; theme?: IColorTheme; labels?: ILabels; hourFormat?: EHourFormat; localization?: string; minimumDate?: string; maximumDate?: string; disabledDates?: string[]; disabledTimeRanges?: IDisabledTimeRange[]; timezone?: string; open?: boolean; } export declare class LCDatePickerControl { private datePickerConfiguration; private hostElement; private panel; private type; private value; private minimumDate; private maximumDate; private readonly panelChanged; private readonly openChanged; private readonly navigationChanged; private readonly valueChanged; private readonly resetChanged; private readonly defaultMinDate; private readonly defaultMaxDate; private dateAdapter; constructor(config: IDatePickerConfiguration, dateAdapter: LCDatePickerAdapter, type?: DateType); getValue(): DateTime; getAdapter(): LCDatePickerAdapter; setValue(value: DateTime, shouldEmit?: boolean): void; setPanelFromCalendarType(calendarType: ECalendarType): void; getPanel(): Panel; setPanel(panel: Panel): void; getTimezone(): string; getDisabledDates(): string[]; setDisabledDates(dates: string[]): void; getCalendarType(): ECalendarType; setCalendarType(calendarType: ECalendarType): void; getLocalization(): string; setLocalization(localization: string): void; getDefaultMinDate(): DateTime; getDefaultMaxDate(): DateTime; getMinDate(): DateTime; setMinDate(date: DateTime): void; getMaxDate(): DateTime; setMaxDate(date: DateTime): void; getDisabledTimeRanges(): IDisabledTimeRange[]; getHourFormat(): EHourFormat; setHourFormat(hourFormat: EHourFormat): void; getLabels(): ILabels; setLabels(labels: ILabels): void; getTheme(): IColorTheme; setTheme(theme: IColorTheme): void; isOpen(): boolean; setOpen(open: boolean, emit?: boolean): void; isFocused(): boolean; focus(): void; setHostElement(hostElement: HTMLElement): void; getNavigationChanges(): Observable; getPanelChanges(): Observable; getOpenChanges(): Observable; getValueChanges(): Observable; getResetChanges(): Observable; navigateRight(): void; navigateLeft(): void; navigateUp(): void; navigateDown(): void; nextPage(): void; previousPage(): void; confirm(): void; close(): void; reset(): void; private adjustValueToCalendarType; private initializeValue; private setDateBoundaries; private validateDisabledTimeRange; private isValidTime; private isValidTimeRange; }