import { OnChanges, OnInit, 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;
declare var NSDatePicker: any;
export interface INSDatePickerAngularSetting extends INSDatePickerSetting {
    setting?: INSDatePickerSetting;
    [propName: string]: any;
}
export declare class NSDatePickerAngular extends NSBaseComponent<typeof NSDatePicker> implements OnChanges, OnInit, AfterViewInit, ControlValueAccessor {
    setting: INSDatePickerAngularSetting;
    nsCalendarOpened: EventEmitter<any>;
    nsCalendarClosed: EventEmitter<any>;
    nsDateSelected: EventEmitter<any>;
    nsInputChange: EventEmitter<any>;
    modelChanged: EventEmitter<any>;
    private __onChange;
    private __onTouch;
    private __isInternalCall;
    private __pendingValue;
    constructor();
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    ngOnChanges(changes: {
        [propName: string]: SimpleChange;
    }): void;
    ngOnInit(): void;
    ngAfterViewInit(): 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(isAbsolutePosition?: boolean): 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 fireChangeEvents;
    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; }; }, { "nsCalendarOpened": "nsCalendarOpened"; "nsCalendarClosed": "nsCalendarClosed"; "nsDateSelected": "nsDateSelected"; "nsInputChange": "nsInputChange"; "modelChanged": "modelChanged"; }, never, never, false, never>;
}
export {};
