import { OnChanges, OnInit, OnDestroy, AfterViewInit, EventEmitter, SimpleChange } from "@angular/core";
import { NSBaseComponent } from "../ns-base";
import { INSDatePickerSetting } from "./interfaces";
import { ControlValueAccessor } from "@angular/forms";
import * as i0 from "@angular/core";
declare var NSCalendar: any;
export interface INSDatePickerAngularSetting extends INSDatePickerSetting {
    setting?: INSDatePickerSetting;
    [propName: string]: any;
}
export declare class NSDatePickerAngular extends NSBaseComponent implements OnChanges, OnInit, OnDestroy, AfterViewInit, ControlValueAccessor {
    setting: INSDatePickerAngularSetting;
    nsCalendarOpened: EventEmitter<any>;
    nsCalendarClosed: EventEmitter<any>;
    nsDateSelected: EventEmitter<any>;
    nsInputChange: EventEmitter<any>;
    modelChange: EventEmitter<any>;
    get model(): any;
    set model(value: any);
    private __objNSDatePicker;
    private __modelValue;
    private __isInternalCall;
    constructor();
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    private onChange;
    private onTouched;
    setDisabledState?(isDisabled: boolean): void;
    ngOnChanges(changes: {
        [propName: string]: SimpleChange;
    }): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    getSelectedDate(): any;
    getSelectedDateAsString(format: string): any;
    setSelectedDate(date: any, format: string): void;
    setYear(year: number): void;
    setMonth(month: number): void;
    reset(): void;
    setTodayDate(): void;
    showCalendar(): void;
    closeCalendar(): void;
    getCalendar(): typeof NSCalendar;
    getTextBox(): HTMLInputElement;
    getText(): any;
    toggleCalendarVisibility(): void;
    setStyle(styleProp: string, value: any): void;
    setFocus(isFocus: boolean): void;
    hasFocus(): boolean;
    setTheme(theme: string): void;
    changeProperty(propertyName: string, value: any): void;
    private __dateSelectedHandler;
    private __inputChangeHandler;
    protected eventListener(event: any, eventName: string): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NSDatePickerAngular, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NSDatePickerAngular, "ns-date-picker-angular", never, { "setting": { "alias": "setting"; "required": false; }; "model": { "alias": "model"; "required": false; }; }, { "nsCalendarOpened": "nsCalendarOpened"; "nsCalendarClosed": "nsCalendarClosed"; "nsDateSelected": "nsDateSelected"; "nsInputChange": "nsInputChange"; "modelChange": "modelChange"; }, never, never, false, never>;
}
export {};
