import { EventEmitter, OnInit, ComponentFactoryResolver, ElementRef, ViewContainerRef, QueryList, OnDestroy } from "@angular/core";
import { Subscription, Observable } from "rxjs";
import { FormControl } from "@angular/forms";
import { RxPickerComponent } from './rx-picker.component';
import { DateDisabled } from './datepicker.models';
import { ComponentView, OverlayViewHost, OverlayPositionHost } from '@rxweb/angular/api';
export declare class RxDateComponent implements OnDestroy, OnInit {
    elementRef: ElementRef;
    viewContainerRef: ViewContainerRef;
    componentFactoryResolver: ComponentFactoryResolver;
    inputDate: QueryList<ElementRef>;
    element: Element;
    isInValid: boolean;
    seperator: string;
    format: string;
    month: number;
    year: number;
    selectedDate: string;
    isValidationSuccess: boolean;
    private propagateChange;
    value: Date;
    timeOutId: number;
    dateFormatPattern: RegExp;
    validateFn: any;
    overlayElement: HTMLElement;
    isMouseLeave: boolean;
    hoverSubscriber: Subscription;
    selectDateSubscription: Subscription;
    conditionalSubscription: Subscription;
    overlayViewHost: OverlayViewHost;
    overlayPositionHost: OverlayPositionHost;
    isPrependClick: boolean;
    componentView: ComponentView<RxPickerComponent>;
    onSelected: EventEmitter<Date>;
    constructor(elementRef: ElementRef, viewContainerRef: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver);
    weekStart: number;
    viewMode: string;
    disableWeekDays: number[];
    highlightWeekDays: number[];
    datesDisabled: DateDisabled[];
    pickerClass: string;
    conditional: Observable<boolean>;
    pickerDisabled: boolean;
    showAddon: boolean;
    controlTabIndex: number;
    private registerOnChange;
    ngOnInit(): void;
    checkValid(isValid: boolean): void;
    private registerOnTouched;
    private writeValue;
    utcDate(year: number, month: number, days: number): Date;
    makeDateString(value: Date): string;
    isValidDate(value: string): Date;
    validate(formControl: FormControl): {
        dateError: string;
    };
    changeViewMode(mode: string, currentMonth?: number, currentYear?: number): void;
    onFocus(event: Event): void;
    prependClick(event: any): void;
    onKeyup(value: string): void;
    onBlur(event: Event, element: HTMLInputElement): void;
    private createPicker;
    private setOverlay;
    private removePicker;
    private showPicker;
    private createPickerComponent;
    setValue(value: Date, isBlur?: boolean): void;
    onHover(value: boolean): void;
    ngOnDestroy(): void;
}
export declare class RxDatePickerModule {
}
