import { ViewContainerRef, ElementRef, ChangeDetectorRef, OnInit, OnChanges, SimpleChanges, DoCheck, KeyValueDiffers, EventEmitter, Renderer2 } from '@angular/core';
import { DateRange, DaterangepickerComponent, DateRanges, EndDate, StartDate, TimePeriod } from './daterangepicker.component';
import dayjs from 'dayjs/esm';
import { LocaleConfig } from './daterangepicker.config';
import { LocaleService } from './locale.service';
import * as i0 from "@angular/core";
export declare class DaterangepickerDirective implements OnInit, OnChanges, DoCheck {
    viewContainerRef: ViewContainerRef;
    ref: ChangeDetectorRef;
    private el;
    private renderer;
    private differs;
    private localeHolderService;
    private elementRef;
    onChange: EventEmitter<TimePeriod | null>;
    rangeClicked: EventEmitter<DateRange>;
    datesUpdated: EventEmitter<TimePeriod>;
    startDateChanged: EventEmitter<StartDate>;
    endDateChanged: EventEmitter<EndDate>;
    clearClicked: EventEmitter<void>;
    minDate: dayjs.Dayjs;
    maxDate: dayjs.Dayjs;
    autoApply: boolean;
    alwaysShowCalendars: boolean;
    showCustomRangeLabel: boolean;
    linkedCalendars: boolean;
    dateLimit: number;
    singleDatePicker: boolean;
    showWeekNumbers: boolean;
    showISOWeekNumbers: boolean;
    showDropdowns: boolean;
    isInvalidDate: (Dayjs: any) => boolean;
    isCustomDate: (Dayjs: any) => string | boolean;
    isTooltipDate: (Dayjs: any) => string | boolean | null;
    showClearButton: boolean;
    customRangeDirection: boolean;
    ranges: DateRanges;
    opens: string;
    drops: string;
    firstMonthDayClass: string;
    lastMonthDayClass: string;
    emptyWeekRowClass: string;
    emptyWeekColumnClass: string;
    firstDayOfNextMonthClass: string;
    lastDayOfPreviousMonthClass: string;
    keepCalendarOpeningWithRange: boolean;
    showRangeLabelOnInput: boolean;
    showCancel: boolean;
    lockStartDate: boolean;
    timePicker: boolean;
    timePicker24Hour: boolean;
    timePickerIncrement: number;
    timePickerSeconds: boolean;
    closeOnAutoApply: boolean;
    private endKeyHolder;
    picker: DaterangepickerComponent;
    private startKeyHolder;
    private notForChangesProperty;
    private onChangeFn;
    private onTouched;
    private validatorChange;
    private disabledHolder;
    private valueHolder;
    private localeDiffer;
    private localeHolder;
    constructor(viewContainerRef: ViewContainerRef, ref: ChangeDetectorRef, el: ElementRef, renderer: Renderer2, differs: KeyValueDiffers, localeHolderService: LocaleService, elementRef: ElementRef);
    get disabled(): boolean;
    set startKey(value: string);
    get locale(): LocaleConfig;
    set locale(value: LocaleConfig);
    set endKey(value: string);
    get value(): TimePeriod | null;
    set value(val: TimePeriod | null);
    outsideClick(event: Event): void;
    hide(e?: Event): void;
    onBlur(): void;
    inputChanged(e: KeyboardEvent): void;
    open(event?: Event): void;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngDoCheck(): void;
    toggle(e?: Event): void;
    clear(): void;
    writeValue(value: TimePeriod): void;
    registerOnChange(fn: () => TimePeriod | null): void;
    registerOnTouched(fn: () => void): void;
    setDisabledState(state: boolean): void;
    setPosition(): void;
    private setValue;
    static ɵfac: i0.ɵɵFactoryDeclaration<DaterangepickerDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DaterangepickerDirective, "input[ngxDaterangepickerMd]", never, { "minDate": "minDate"; "maxDate": "maxDate"; "autoApply": "autoApply"; "alwaysShowCalendars": "alwaysShowCalendars"; "showCustomRangeLabel": "showCustomRangeLabel"; "linkedCalendars": "linkedCalendars"; "dateLimit": "dateLimit"; "singleDatePicker": "singleDatePicker"; "showWeekNumbers": "showWeekNumbers"; "showISOWeekNumbers": "showISOWeekNumbers"; "showDropdowns": "showDropdowns"; "isInvalidDate": "isInvalidDate"; "isCustomDate": "isCustomDate"; "isTooltipDate": "isTooltipDate"; "showClearButton": "showClearButton"; "customRangeDirection": "customRangeDirection"; "ranges": "ranges"; "opens": "opens"; "drops": "drops"; "firstMonthDayClass": "firstMonthDayClass"; "lastMonthDayClass": "lastMonthDayClass"; "emptyWeekRowClass": "emptyWeekRowClass"; "emptyWeekColumnClass": "emptyWeekColumnClass"; "firstDayOfNextMonthClass": "firstDayOfNextMonthClass"; "lastDayOfPreviousMonthClass": "lastDayOfPreviousMonthClass"; "keepCalendarOpeningWithRange": "keepCalendarOpeningWithRange"; "showRangeLabelOnInput": "showRangeLabelOnInput"; "showCancel": "showCancel"; "lockStartDate": "lockStartDate"; "timePicker": "timePicker"; "timePicker24Hour": "timePicker24Hour"; "timePickerIncrement": "timePickerIncrement"; "timePickerSeconds": "timePickerSeconds"; "closeOnAutoApply": "closeOnAutoApply"; "endKeyHolder": "endKeyHolder"; "startKey": "startKey"; "locale": "locale"; "endKey": "endKey"; }, { "onChange": "change"; "rangeClicked": "rangeClicked"; "datesUpdated": "datesUpdated"; "startDateChanged": "startDateChanged"; "endDateChanged": "endDateChanged"; "clearClicked": "clearClicked"; }, never>;
}
