import { AfterViewChecked, AfterViewInit, InputSignal, ModelSignal, OnDestroy, OnInit, OutputEmitterRef, Signal } from '@angular/core';
import { NgxDaterangepickerBootstrapComponent } from '../components/daterangepicker/ngx-daterangepicker-bootstrap.component';
import { LocaleConfig } from '../utils/ngx-daterangepicker-locale.config';
import { Dayjs } from 'dayjs';
import * as i0 from "@angular/core";
export declare class NgxDaterangepickerBootstrapDirective implements OnInit, OnDestroy, AfterViewInit, AfterViewChecked {
    private viewContainerRef;
    private injector;
    private applicationRef;
    private elementRef;
    private _renderer;
    private _localeService;
    $event: any;
    daterangepicker: NgxDaterangepickerBootstrapComponent | any;
    private daterangepickerRef?;
    private daterangepickerElement?;
    private firstMonthDayClass?;
    private _onChange;
    private _onTouched;
    private _disabled?;
    private _value;
    private _resizeObserver?;
    readonly minDate: InputSignal<Dayjs | null | undefined>;
    readonly maxDate: InputSignal<Dayjs | null | undefined>;
    readonly autoApply: InputSignal<boolean>;
    readonly alwaysShowCalendars: InputSignal<boolean>;
    readonly showCustomRangeLabel: InputSignal<boolean | undefined>;
    readonly linkedCalendars: InputSignal<boolean>;
    readonly dateLimit: InputSignal<number | null>;
    readonly singleDatePicker: InputSignal<boolean>;
    readonly showWeekNumbers: InputSignal<boolean>;
    readonly showISOWeekNumbers: InputSignal<boolean>;
    readonly showDropdowns: InputSignal<boolean>;
    readonly isInvalidDate: InputSignal<Function | null | undefined>;
    readonly isCustomDate: InputSignal<Function | null | undefined>;
    readonly isTooltipDate: InputSignal<Function | null | undefined>;
    readonly showClearButton: InputSignal<boolean>;
    readonly customRangeDirection: InputSignal<boolean>;
    readonly ranges: InputSignal<any>;
    readonly opens: ModelSignal<string>;
    readonly drops: ModelSignal<string>;
    readonly lastMonthDayClass: InputSignal<string | null | undefined>;
    readonly emptyWeekRowClass: InputSignal<string | null | undefined>;
    readonly emptyWeekColumnClass: InputSignal<string | null | undefined>;
    readonly firstDayOfNextMonthClass: InputSignal<string | null | undefined>;
    readonly lastDayOfPreviousMonthClass: InputSignal<string | null | undefined>;
    readonly keepCalendarOpeningWithRange: InputSignal<boolean>;
    readonly showRangeLabelOnInput: InputSignal<boolean>;
    readonly showCancel: InputSignal<boolean>;
    readonly lockStartDate: InputSignal<Boolean>;
    readonly closeOnAutoApply: InputSignal<boolean>;
    readonly timePicker: InputSignal<Boolean>;
    readonly timePicker24Hour: InputSignal<Boolean>;
    readonly timePickerIncrement: InputSignal<number>;
    readonly timePicker24HourInterval: InputSignal<number[]>;
    readonly timePickerSeconds: InputSignal<Boolean>;
    readonly formlyCustomField: InputSignal<Boolean>;
    readonly startKey: InputSignal<string>;
    readonly endKey: InputSignal<string>;
    readonly locale: InputSignal<object>;
    readonly _startKey: Signal<string>;
    readonly _endKey: Signal<string>;
    readonly _locale: Signal<LocaleConfig>;
    readonly change: OutputEmitterRef<Object>;
    readonly rangeClicked: OutputEmitterRef<Object>;
    readonly datesUpdated: OutputEmitterRef<Object>;
    readonly startDateChanged: OutputEmitterRef<Object>;
    readonly endDateChanged: OutputEmitterRef<Object>;
    readonly clearClicked: OutputEmitterRef<void>;
    get disabled(): boolean | undefined;
    get value(): any;
    set value(val: any);
    private rangeClickedSubs;
    private datesUpdatedSubs;
    private startDateChangedSubs;
    private endDateChangedSubs;
    private clearClickedSubs;
    private chosenDateSubs;
    constructor();
    ngOnInit(): void;
    ngOnDestroy(): void;
    ngAfterViewInit(): void;
    ngAfterViewChecked(): void;
    onWindowResize(event?: any): void;
    open(event?: any): void;
    hide(event?: any): void;
    onBlur(): void;
    toggle(event?: any): void;
    clear(): void;
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(state: boolean): void;
    private setValue;
    pickerResizeObserver(): void;
    /**
     * Set position of the calendar, this works as expected only if you add daterangepickerElement to DOM body
     */
    setPosition(): void;
    getOffset(element: any): {
        top: any;
        left: any;
        width: any;
        height: any;
    };
    inputChanged(event: any): void;
    /**
     * For click outside the calendar's container
     * @param event event object
     */
    outsideClick(event: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxDaterangepickerBootstrapDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<NgxDaterangepickerBootstrapDirective, "input[ngxDaterangepickerBootstrap]", never, { "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "autoApply": { "alias": "autoApply"; "required": false; "isSignal": true; }; "alwaysShowCalendars": { "alias": "alwaysShowCalendars"; "required": false; "isSignal": true; }; "showCustomRangeLabel": { "alias": "showCustomRangeLabel"; "required": false; "isSignal": true; }; "linkedCalendars": { "alias": "linkedCalendars"; "required": false; "isSignal": true; }; "dateLimit": { "alias": "dateLimit"; "required": false; "isSignal": true; }; "singleDatePicker": { "alias": "singleDatePicker"; "required": false; "isSignal": true; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; "isSignal": true; }; "showISOWeekNumbers": { "alias": "showISOWeekNumbers"; "required": false; "isSignal": true; }; "showDropdowns": { "alias": "showDropdowns"; "required": false; "isSignal": true; }; "isInvalidDate": { "alias": "isInvalidDate"; "required": false; "isSignal": true; }; "isCustomDate": { "alias": "isCustomDate"; "required": false; "isSignal": true; }; "isTooltipDate": { "alias": "isTooltipDate"; "required": false; "isSignal": true; }; "showClearButton": { "alias": "showClearButton"; "required": false; "isSignal": true; }; "customRangeDirection": { "alias": "customRangeDirection"; "required": false; "isSignal": true; }; "ranges": { "alias": "ranges"; "required": false; "isSignal": true; }; "opens": { "alias": "opens"; "required": false; "isSignal": true; }; "drops": { "alias": "drops"; "required": false; "isSignal": true; }; "lastMonthDayClass": { "alias": "lastMonthDayClass"; "required": false; "isSignal": true; }; "emptyWeekRowClass": { "alias": "emptyWeekRowClass"; "required": false; "isSignal": true; }; "emptyWeekColumnClass": { "alias": "emptyWeekColumnClass"; "required": false; "isSignal": true; }; "firstDayOfNextMonthClass": { "alias": "firstDayOfNextMonthClass"; "required": false; "isSignal": true; }; "lastDayOfPreviousMonthClass": { "alias": "lastDayOfPreviousMonthClass"; "required": false; "isSignal": true; }; "keepCalendarOpeningWithRange": { "alias": "keepCalendarOpeningWithRange"; "required": false; "isSignal": true; }; "showRangeLabelOnInput": { "alias": "showRangeLabelOnInput"; "required": false; "isSignal": true; }; "showCancel": { "alias": "showCancel"; "required": false; "isSignal": true; }; "lockStartDate": { "alias": "lockStartDate"; "required": false; "isSignal": true; }; "closeOnAutoApply": { "alias": "closeOnAutoApply"; "required": false; "isSignal": true; }; "timePicker": { "alias": "timePicker"; "required": false; "isSignal": true; }; "timePicker24Hour": { "alias": "timePicker24Hour"; "required": false; "isSignal": true; }; "timePickerIncrement": { "alias": "timePickerIncrement"; "required": false; "isSignal": true; }; "timePicker24HourInterval": { "alias": "timePicker24HourInterval"; "required": false; "isSignal": true; }; "timePickerSeconds": { "alias": "timePickerSeconds"; "required": false; "isSignal": true; }; "formlyCustomField": { "alias": "formlyCustomField"; "required": false; "isSignal": true; }; "startKey": { "alias": "startKey"; "required": false; "isSignal": true; }; "endKey": { "alias": "endKey"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; }, { "opens": "opensChange"; "drops": "dropsChange"; "startKey": "startKeyChange"; "endKey": "endKeyChange"; "locale": "localeChange"; "change": "change"; "rangeClicked": "rangeClicked"; "datesUpdated": "datesUpdated"; "startDateChanged": "startDateChanged"; "endDateChanged": "endDateChanged"; "clearClicked": "clearClicked"; }, never, never, true, never>;
}
