import { OnChanges } from '@angular/core';
import { Subject } from 'rxjs';
import { KitMomentProvider } from '../kit-moment/kit-moment-provider';
import { KitModelInterceptor } from '../kit-value-accessor/kit-model-interceptor';
/**
* Displays date in an input in any format and store JS Date-object in model.
*
*
* ### Usage
*
* Use the directive:
*
* ```html
*
* ```
*
* #### Format
*
* You can define rendering/parsing format:
*
* ```html
*
* ```
*
* __Requires Moment.js.__
*
*
* ### Example
*
* * collection:date-picker -
* [sources](https://github.com/ngx-kit/ngx-kit/tree/master/packages/collection/lib/ui-date-picker),
* [demo](http://ngx-kit.com/collection/module/ui-date-picker)
*/
export declare class KitInputDateDirective implements KitModelInterceptor, OnChanges {
private momentProvider;
/**
* @internal
*/
kitInputDate: void;
/**
* `Date.toLocaleDateString()` options.
*/
options: any;
/**
* Parse and render format (works only with moment.js).
*/
format: string;
readonly viewStateChanges: Subject;
readonly modelStateChanges: Subject;
private moment;
constructor(momentProvider: KitMomentProvider);
ngOnChanges(): void;
/**
* Handle input changing by user.
*/
input(value: string, event: any): void;
keyDown(event: any): void;
/**
* Handle external modal changing.
*/
writeValue(value: any): void;
private parse;
private isValid;
}