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";
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>;
    value: TuiMonth | TuiMonthRange | null;
    year: TuiYear;
    disabledItemHandler: TuiBooleanHandler<TuiMonth>;
    minLength: number | null;
    maxLength: number | null;
    min: TuiMonth | null;
    max: TuiMonth | null;
    readonly monthClick: EventEmitter<TuiMonth>;
    readonly hoveredItemChange: EventEmitter<TuiMonth | null>;
    readonly yearChange: EventEmitter<TuiYear>;
    hoveredItem: TuiMonth | null;
    get isSingle(): boolean;
    onNextYear(): void;
    onPreviousYear(): void;
    getItemRange(item: TuiMonth): 'active' | 'end' | 'middle' | 'start' | null;
    protected get computedMin(): TuiMonth;
    protected get computedMax(): TuiMonth;
    protected get previousYearDisabled(): boolean;
    protected get nextYearDisabled(): boolean;
    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, { "value": { "alias": "value"; "required": false; }; "year": { "alias": "year"; "required": false; }; "disabledItemHandler": { "alias": "disabledItemHandler"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; }, { "monthClick": "monthClick"; "hoveredItemChange": "hoveredItemChange"; "yearChange": "yearChange"; }, never, never, true, never>;
}
