import { EventEmitter } from '@angular/core';
import { ReplaySubject } from 'rxjs';
import * as i0 from "@angular/core";
/**
 * `end` date will be always null if it's not date range.
 */
export type DateValue = {
    start: Date | null;
    end: Date | null;
};
export declare class DokuDatePickerBaseProps {
    get value(): DateValue;
    set value(date: DateValue | Date | string | null | undefined);
    private _value;
    get minDate(): Date | null;
    set minDate(date: Date | string | null | undefined);
    private _minDate;
    get maxDate(): Date | null;
    set maxDate(date: Date | string | null | undefined);
    private _maxDate;
    get disabled(): boolean;
    set disabled(value: boolean);
    private _disabled;
    get readonly(): boolean;
    set readonly(value: boolean);
    private _readonly;
    useDateRange: boolean;
    valueChange: EventEmitter<DateValue>;
    protected notifyChange$: ReplaySubject<"value" | "disabled" | "readonly" | "minDate" | "maxDate">;
    private normalizeDate;
    static ɵfac: i0.ɵɵFactoryDeclaration<DokuDatePickerBaseProps, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DokuDatePickerBaseProps, "doku-date-picker-base-props", ["dokuDatePickerBaseProps"], { "value": "value"; "minDate": "minDate"; "maxDate": "maxDate"; "disabled": "disabled"; "readonly": "readonly"; "useDateRange": "useDateRange"; }, { "valueChange": "valueChange"; }, never, never, true>;
}
