import { ElementRef, Renderer2 } from '@angular/core';
import { AbstractControl, ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms';
import { BsLocaleService } from './bs-locale.service';
import { BsDatepickerConfig } from './bs-datepicker.config';
export declare class BsDateInputDirective implements ControlValueAccessor, Validator {
    _config: BsDatepickerConfig;
    private _localeService;
    private _renderer;
    private _elRef;
    /**
     * Minimum date which is available for selection
     */
    minDate: Date;
    /**
     * Maximum date which is available for selection
     */
    maxDate: Date;
    private _onChange;
    private _onTouched;
    private _validatorChange;
    private _value;
    constructor(_config: BsDatepickerConfig, _localeService: BsLocaleService, _renderer: Renderer2, _elRef: ElementRef);
    _setInputValue(value: Date): void;
    onChange(event: Event): void;
    validate(c: AbstractControl): ValidationErrors | null;
    registerOnValidatorChange(fn: () => void): void;
    writeValue(value: Date | string): void;
    setDisabledState(isDisabled: boolean): void;
    registerOnChange(fn: () => void): void;
    registerOnTouched(fn: () => void): void;
    onBlur(): void;
}
