import { Overlay, OverlayRef, ScrollStrategyOptions } from '@angular/cdk/overlay';
import { ChangeDetectorRef, ElementRef, EventEmitter, KeyValueDiffer, KeyValueDiffers, NgZone, ViewContainerRef, OnDestroy } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import moment from 'moment';
import * as i0 from "@angular/core";
export declare class ODaterangepickerDirective implements OnDestroy {
    private _dialog;
    private _ngZone;
    private _overlay;
    _viewContainerRef: ViewContainerRef;
    _changeDetectorRef: ChangeDetectorRef;
    _el: ElementRef;
    private differs;
    private scrollStrategy;
    private _onChange;
    private _onTouched;
    _validatorChange: Function;
    private _value;
    localeDiffer: KeyValueDiffer<string, any>;
    minDate: moment.Moment;
    maxDate: moment.Moment;
    showCustomRangeLabel: boolean;
    linkedCalendars: boolean;
    dateLimit: number;
    singleDatePicker: boolean;
    showWeekNumbers: boolean;
    showISOWeekNumbers: boolean;
    showDropdowns: boolean;
    isInvalidDate: () => boolean;
    isCustomDate: () => boolean;
    opens: string;
    drops: string;
    firstMonthDayClass: string;
    lastMonthDayClass: string;
    emptyWeekRowClass: string;
    firstDayOfNextMonthClass: string;
    lastDayOfPreviousMonthClass: string;
    keepCalendarOpeningWithRange: boolean;
    showRangeLabelOnInput: boolean;
    showCancel: boolean;
    timePicker: boolean;
    showRanges: boolean;
    timePicker24Hour: boolean;
    timePickerIncrement: number;
    timePickerSeconds: boolean;
    _locale: any;
    _separator: string;
    set separator(value: any);
    set locale(value: any);
    get locale(): any;
    private _endKey;
    private _startKey;
    ranges: any;
    oTouchUi: boolean;
    set startKey(value: string);
    get startKey(): string;
    set endKey(value: string);
    get endKey(): string;
    notForChangesProperty: Array<string>;
    get value(): any;
    set value(val: any);
    onChange: EventEmitter<object>;
    rangeClicked: EventEmitter<object>;
    datesUpdated: EventEmitter<object>;
    private _popupComponentRef;
    private _calendarPortal;
    _popupRef: OverlayRef;
    private _dialogRef;
    constructor(_dialog: MatDialog, _ngZone: NgZone, _overlay: Overlay, _viewContainerRef: ViewContainerRef, _changeDetectorRef: ChangeDetectorRef, _el: ElementRef, differs: KeyValueDiffers, scrollStrategy: ScrollStrategyOptions);
    initializeListeners(instance: any): void;
    onBlur(): void;
    open(): void;
    ngOnDestroy(): void;
    clear(): void;
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setValueInDateComponent(instance: any, val: any): void;
    private setValue;
    openAsPopup(): void;
    private _createPopup;
    private _createPopupPositionStrategy;
    openAsDialog(): void;
    close(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ODaterangepickerDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ODaterangepickerDirective, "input[o-daterange-input]", never, { "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "showCustomRangeLabel": { "alias": "showCustomRangeLabel"; "required": false; }; "linkedCalendars": { "alias": "linkedCalendars"; "required": false; }; "dateLimit": { "alias": "dateLimit"; "required": false; }; "singleDatePicker": { "alias": "singleDatePicker"; "required": false; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; }; "showISOWeekNumbers": { "alias": "showISOWeekNumbers"; "required": false; }; "showDropdowns": { "alias": "showDropdowns"; "required": false; }; "isInvalidDate": { "alias": "isInvalidDate"; "required": false; }; "isCustomDate": { "alias": "isCustomDate"; "required": false; }; "opens": { "alias": "opens"; "required": false; }; "drops": { "alias": "drops"; "required": false; }; "lastMonthDayClass": { "alias": "lastMonthDayClass"; "required": false; }; "emptyWeekRowClass": { "alias": "emptyWeekRowClass"; "required": false; }; "firstDayOfNextMonthClass": { "alias": "firstDayOfNextMonthClass"; "required": false; }; "lastDayOfPreviousMonthClass": { "alias": "lastDayOfPreviousMonthClass"; "required": false; }; "keepCalendarOpeningWithRange": { "alias": "keepCalendarOpeningWithRange"; "required": false; }; "showRangeLabelOnInput": { "alias": "showRangeLabelOnInput"; "required": false; }; "showCancel": { "alias": "showCancel"; "required": false; }; "timePicker": { "alias": "timePicker"; "required": false; }; "showRanges": { "alias": "showRanges"; "required": false; }; "timePicker24Hour": { "alias": "timePicker24Hour"; "required": false; }; "timePickerIncrement": { "alias": "timePickerIncrement"; "required": false; }; "timePickerSeconds": { "alias": "timePickerSeconds"; "required": false; }; "separator": { "alias": "separator"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "_endKey": { "alias": "_endKey"; "required": false; }; "oTouchUi": { "alias": "oTouchUi"; "required": false; }; "startKey": { "alias": "startKey"; "required": false; }; "endKey": { "alias": "endKey"; "required": false; }; }, { "onChange": "onChange"; "rangeClicked": "rangeClicked"; "datesUpdated": "datesUpdated"; }, never, never, true, never>;
}
