import { DoCheck, EventEmitter, OnInit } from '@angular/core';
import { NgModel } from '@angular/forms';
import { ElementBase } from '../../base/element-base';
import { AsyncValidatorArray, ValidatorArray } from '../../base/validate';
import { InputFormsConfig } from '../../input-forms-config';
import { InputMonthYearLanguage } from './input-month-year.language';
import { MonthYearAvaiableModel } from './month-year-avaiable';
import * as i0 from "@angular/core";
export declare class InputMonthYearComponent extends ElementBase<Date> implements OnInit, DoCheck {
    config: InputFormsConfig;
    placeholder?: string;
    language?: string;
    format?: string;
    monthsAvailable?: Array<MonthYearAvaiableModel>;
    model: NgModel;
    onChange: EventEmitter<Date>;
    languageDefinitions: InputMonthYearLanguage;
    comboTouched: boolean;
    showDropdown: boolean;
    internalModel: Date;
    selectedYear: number;
    displayMode: EnumDisplayMode;
    identifier: string;
    constructor(validators: ValidatorArray, asyncValidators: AsyncValidatorArray, config: InputFormsConfig);
    ngOnInit(): void;
    ngDoCheck(): void;
    ToggleDropDown(event: MouseEvent, value?: boolean): void;
    IncrementSelectedYear(): void;
    DecrementSelectedYear(): void;
    GetMonthAvaiable(index: number): boolean;
    SelectMonth(month: number): void;
    Clear(event: any): void;
    OnComboPressed(event: KeyboardEvent): void;
    private init;
    private initLanguageDefinitions;
    private handleSelectedYear;
    private handleInitialValue;
    private setComboTouched;
    static ɵfac: i0.ɵɵFactoryDeclaration<InputMonthYearComponent, [{ optional: true; }, { optional: true; }, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<InputMonthYearComponent, "input-month-year", never, { "placeholder": "placeholder"; "language": "language"; "format": "format"; "monthsAvailable": "monthsAvailable"; }, { "onChange": "onChange"; }, never, never, false, never>;
}
export declare enum EnumDisplayMode {
    Month = 0,
    Year = 1
}
