import { EventEmitter } from '@angular/core';
import dayjs, { ConfigType, Dayjs } from 'dayjs';
import { I18nService } from '../../../i18n';
import { DateNavRange, Side } from '../../date-picker.type';
import * as i0 from "@angular/core";
export declare class CalendarHeaderComponent {
    private readonly i18nService;
    get dateNavRange(): DateNavRange;
    set dateNavRange(val: DateNavRange);
    get anchor(): dayjs.Dayjs;
    set anchor(val: dayjs.Dayjs);
    maxAvail?: ConfigType;
    private get _maxAvail();
    minAvail?: ConfigType;
    private get _minAvail();
    navRangeChange: EventEmitter<DateNavRange>;
    anchorChange: EventEmitter<dayjs.Dayjs>;
    private readonly $$dateNavRange;
    private readonly $$anchor;
    bem: import("../../../internal/utils").Bem;
    DateNavRange: typeof DateNavRange;
    $monthBeforeYear: import("@angular/core").Signal<boolean>;
    $headerRange: import("@angular/core").Signal<{
        start: {
            year: string;
            month: string;
        };
        end: {
            year: string;
            month: string;
        };
    }>;
    constructor(i18nService: I18nService);
    shouldShowNav(type: DateNavRange, side: Side): boolean;
    compareNavValue(type: DateNavRange, constrain: Dayjs, anchor: Dayjs): 1 | 0 | -1;
    navHead(range: DateNavRange, value: number): void;
    clickNav: (range: DateNavRange) => void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CalendarHeaderComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CalendarHeaderComponent, "aui-calendar-header", never, { "dateNavRange": { "alias": "dateNavRange"; "required": false; }; "anchor": { "alias": "anchor"; "required": false; }; "maxAvail": { "alias": "maxAvail"; "required": false; }; "minAvail": { "alias": "minAvail"; "required": false; }; }, { "navRangeChange": "navRangeChange"; "anchorChange": "anchorChange"; }, never, never, true, never>;
}
