import * as i0 from '@angular/core';
import { EventEmitter } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import * as i3 from '@obliczeniowo/elementary/value-picker';
import { ValuePickerDisplay, PickerSettings, ValuePickerItem } from '@obliczeniowo/elementary/value-picker';
import * as i2 from '@angular/common';

interface MonthPickerDisplay extends ValuePickerDisplay {
}

declare class MonthPickerComponent implements ControlValueAccessor {
    current?: number;
    placeholder?: string;
    /**
     * disable the whole things
     */
    disabled: boolean;
    display: MonthPickerDisplay;
    picker: PickerSettings;
    changed: EventEmitter<number>;
    protected touched: boolean;
    onChange: (value: number | undefined) => void;
    onTouched: () => void;
    registerOnValidatorChange(fn: () => void): void;
    writeValue(set?: number): void;
    registerOnChange(onChange: any): void;
    registerOnTouched(onTouched: any): void;
    setDisabledState(disabled: boolean): void;
    markAsTouched(): void;
    protected itemChanged(item: ValuePickerItem<Date>): void;
    protected months: {
        value: Date;
    }[];
    static ɵfac: i0.ɵɵFactoryDeclaration<MonthPickerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MonthPickerComponent, "obl-month-picker", never, { "current": { "alias": "current"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "display": { "alias": "display"; "required": false; }; "picker": { "alias": "picker"; "required": false; }; }, { "changed": "changed"; }, never, never, false, never>;
}

declare class MonthPickerModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<MonthPickerModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<MonthPickerModule, [typeof MonthPickerComponent], [typeof i2.CommonModule, typeof i3.ValuePickerModule], [typeof MonthPickerComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<MonthPickerModule>;
}

export { MonthPickerComponent, MonthPickerModule };
export type { MonthPickerDisplay };
