import { ElementRef, Renderer2 } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import * as i0 from "@angular/core";
/**
 * The accessor for writing a date object value and listening to changes on a date input element.
 *
 *  ### Example
 *  `<input type="date" name="myBirthday" ngModel useValueAsDate>`
 */
export declare class DateValueAccessor implements ControlValueAccessor {
    private renderer;
    private elementRef;
    onChange: (_: any) => void;
    onTouched: () => void;
    constructor(renderer: Renderer2, elementRef: ElementRef);
    writeValue(date?: Date): void;
    registerOnChange(fn: (_: any) => void): void;
    registerOnTouched(fn: () => void): void;
    setDisabledState(isDisabled: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DateValueAccessor, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DateValueAccessor, "[useValueAsDate]", never, {}, {}, never, never, true>;
}
