import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core';
import { ControlValueAccessor, FormControl, Validator } from '@angular/forms';
export declare class NgxMonthPickerComponent implements OnInit, OnDestroy, AfterContentInit, ControlValueAccessor, Validator, OnChanges {
    private renderer;
    private cd;
    private elem;
    placeholder: string;
    isRequired: boolean;
    disabled: boolean;
    isReadOnly: boolean;
    mode: string;
    firstYear: number;
    lastYear: number;
    inputContainerClass: string;
    inputValueClass: string;
    calendarContainerClass: string;
    monthItemClass: string;
    edgeClass: string;
    notYearClass: string;
    inRangeClass: string;
    lowerEdgeClass: string;
    upperEdgeClass: string;
    cleanBtnClass: string;
    acceptBtnClass: string;
    locale: string;
    calendarInputContainer: ElementRef;
    calendarUI: ElementRef;
    calendarContent: ElementRef;
    containerViewChild: ElementRef;
    appendTo: string;
    _Value: any;
    focused: boolean;
    isOpen: boolean;
    _itemFocused: number;
    overlay: HTMLDivElement;
    isClosing: boolean;
    monthRangeSelected: EventEmitter<string>;
    tabindex: number;
    blurHandler(): void;
    focusHandler(): void;
    onChange: (_: any) => void;
    onTouched: () => void;
    set value(val: any);
    get value(): any;
    set itemFocused(val: number);
    get itemFocused(): number;
    currentYearIndex: number;
    years: Array<number>;
    months: Array<string>;
    monthsData: Array<{
        monthName: string;
        month: number;
        monthYear: number;
        isInRange: boolean;
        isLowerEdge: boolean;
        isUpperEdge: boolean;
    }>;
    rangeIndexes: Array<number>;
    monthViewSlicesIndexes: Array<number>;
    monthDataSlice: Array<{
        monthName: string;
        month: number;
        monthYear: number;
        isInRange: boolean;
        isLowerEdge: boolean;
        isUpperEdge: boolean;
    }>;
    globalIndexOffset: number;
    constructor(renderer: Renderer2, cd: ChangeDetectorRef, elem: ElementRef);
    ngOnInit(): void;
    initCalendar(): void;
    ngOnChanges(simpleChange: SimpleChanges): void;
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    onShowCalendar(event?: any): void;
    show(event?: any): void;
    hide(event?: any): void;
    appendOverlay(): void;
    restoreOverlayAppend(): void;
    alignOverlay(): void;
    onClick(indexClicked: any): void;
    paintRange(): void;
    emitData(): void;
    sliceDataIntoView(): void;
    incrementYear(): void;
    decrementYear(): void;
    initRangeIndexes(): void;
    initMonthsData(): void;
    initYearLabels(): void;
    initMonthLabels(): void;
    initViewSlices(): void;
    get valueText(): string;
    clearData(): void;
    validate({ value }: FormControl): {
        invalid: boolean;
    };
    updateChanges(): void;
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(val: boolean): void;
    onModelTouched: Function;
    setReadOnlyState(val: boolean): void;
}
