import { ChangeDetectorRef, EventEmitter } from '@angular/core';
import { ReplaySubject } from 'rxjs';
import { DateValue } from '../base/date-picker-base-props.component';
import { DateRangeResult } from '../date-picker.interface';
import * as i0 from "@angular/core";
export declare class DokuDatePickerRangeProps {
    protected _cdr: ChangeDetectorRef;
    /**
     * Value of the date picker.
     *
     * If it's a string, it must be in ISO String.
     *
     * @default null
     */
    protected get value(): DateValue;
    protected set value(date: DateValue | null | undefined);
    private _value;
    /**
     * Minimum date allowed to be selected.
     *
     * If it's a string, it must be in ISO String.
     *
     * @default null
     */
    get minDate(): Date | null;
    set minDate(date: Date | string | null | undefined);
    private _minDate;
    /**
     * Maximum date allowed to be selected.
     *
     * If it's a string, it must be in ISO String.
     *
     * @default null
     */
    get maxDate(): Date | null;
    set maxDate(date: Date | string | null | undefined);
    private _maxDate;
    /**
     * Whether date picker is disabled.
     *
     * @default false
     */
    get disabled(): boolean;
    set disabled(value: boolean);
    private _disabled;
    /**
     * Whether date picker is readonly.
     *
     * @default false
     */
    get readonly(): boolean;
    set readonly(value: boolean);
    private _readonly;
    /**
     * An event emitted when the value changes.
     */
    valueChange: EventEmitter<DateRangeResult>;
    protected notifyChange$: ReplaySubject<"value" | "disabled" | "readonly" | "minDate" | "maxDate">;
    protected dateChangeHandler?: (value: DateValue) => void;
    constructor(_cdr: ChangeDetectorRef);
    private normalizeDate;
    static ɵfac: i0.ɵɵFactoryDeclaration<DokuDatePickerRangeProps, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DokuDatePickerRangeProps, "doku-date-picker-range-props", ["dokuDatePickerRangeProps"], { "minDate": "minDate"; "maxDate": "maxDate"; "disabled": "disabled"; "readonly": "readonly"; }, { "valueChange": "valueChange"; }, never, never, true>;
}
