import { EventEmitter } from '@angular/core';
import { TuiMonth, TuiMonthRange, TuiYear } from '@taiga-ui/cdk/date-time';
import type { TuiBooleanHandler } from '@taiga-ui/cdk/types';
import * as i0 from "@angular/core";
import * as i1 from "@taiga-ui/cdk/date-time";
export declare class TuiCalendarMonth {
    protected isYearPickerShown: boolean;
    protected readonly months: import("@angular/core").Signal<readonly [January: string, February: string, March: string, April: string, May: string, June: string, July: string, August: string, September: string, October: string, November: string, December: string] | undefined>;
    protected readonly isRangePicking: import("@angular/core").Signal<boolean>;
    year: TuiYear;
    disabledItemHandler: TuiBooleanHandler<TuiMonth>;
    minLength: number | null;
    maxLength: number | null;
    readonly monthClick: EventEmitter<TuiMonth>;
    readonly hoveredItemChange: EventEmitter<TuiMonth | null>;
    readonly yearChange: EventEmitter<TuiYear>;
    options: import("./calendar-month.options").TuiCalendarMonthOptions;
    readonly min: import("@angular/core").WritableSignal<TuiMonth>;
    readonly max: import("@angular/core").WritableSignal<TuiMonth>;
    readonly value: import("@angular/core").WritableSignal<TuiMonth | TuiMonthRange | null>;
    hoveredItem: TuiMonth | null;
    set minSetter(x: TuiMonth);
    set maxSetter(x: TuiMonth);
    set valueSetter(x: TuiMonth | TuiMonthRange | null);
    onNextYear(): void;
    onPreviousYear(): void;
    getItemRange(item: TuiMonth): 'active' | 'end' | 'middle' | 'start' | null;
    protected get disabledItemHandlerWithMinMax(): TuiBooleanHandler<TuiMonth>;
    protected getTuiMonth(monthNumber: number, yearNumber: number): TuiMonth;
    protected isItemToday(item: TuiMonth): boolean;
    protected onPickerYearClick(year: number): void;
    protected onItemClick(month: TuiMonth): void;
    protected onYearClick(): void;
    protected onItemHovered(hovered: boolean, item: TuiMonth): void;
    private calculateDisabledItemHandlerWithMinMax;
    private updateHoveredItem;
    private updateActiveYear;
    static ɵfac: i0.ɵɵFactoryDeclaration<TuiCalendarMonth, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TuiCalendarMonth, "tui-calendar-month", never, { "year": { "alias": "year"; "required": false; }; "disabledItemHandler": { "alias": "disabledItemHandler"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "minSetter": { "alias": "min"; "required": false; }; "maxSetter": { "alias": "max"; "required": false; }; "valueSetter": { "alias": "value"; "required": false; }; }, { "monthClick": "monthClick"; "hoveredItemChange": "hoveredItemChange"; "yearChange": "yearChange"; }, never, never, true, never>;
    static ngAcceptInputType_minSetter: i1.TuiMonth | null;
    static ngAcceptInputType_maxSetter: i1.TuiMonth | null;
}
