import { EventEmitter, TemplateRef } from '@angular/core';
import dayjs, { ConfigType, Dayjs } from 'dayjs';
import { CommonFormControl } from '../../../form/common-form';
import { TimePickerModel } from '../../../time-picker';
import { DateNavRange, DisabledTimeFn } from '../../date-picker.type';
import { DatePickerType } from '../constant';
import * as i0 from "@angular/core";
export declare class DatePickerPanelComponent extends CommonFormControl<Dayjs> {
    clearable: boolean;
    clearText: string;
    set type(type: DatePickerType);
    get type(): DatePickerType;
    private _type;
    showTime: boolean;
    disabledDate: (date: Dayjs, type: DateNavRange) => boolean;
    disabledTime: DisabledTimeFn;
    weekStartDay: number;
    showFooter: boolean;
    footerTemplate: TemplateRef<unknown>;
    extraFooter: TemplateRef<unknown>;
    minDate: Dayjs;
    maxDate: Dayjs;
    confirm: EventEmitter<dayjs.Dayjs>;
    clear: EventEmitter<void>;
    private _cacheSelectedDate;
    private _cacheDisabledTimeFn;
    getDisabledTimeFn(selectedDate: Dayjs, type: keyof ReturnType<DisabledTimeFn>): (() => number[]) | ((hour?: number) => number[]) | ((hour?: number, minute?: number) => number[]);
    navRange: DateNavRange;
    get currentNavType(): DatePickerType;
    anchor: Dayjs;
    selectedDate: Dayjs;
    selectedTime: TimePickerModel;
    DateNavRange: typeof DateNavRange;
    DatePickerType: typeof DatePickerType;
    writeValue(obj: Dayjs): void;
    panelValueChange(value: Dayjs): void;
    confirmValue(value?: ConfigType, closeAfterConfirm?: boolean): void;
    timeDateChange(time: TimePickerModel): void;
    setToday(): void;
    clearValue(): void;
    private _disabledTimeFn;
    static ɵfac: i0.ɵɵFactoryDeclaration<DatePickerPanelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DatePickerPanelComponent, "aui-date-picker-panel", never, { "clearable": { "alias": "clearable"; "required": false; }; "clearText": { "alias": "clearText"; "required": false; }; "type": { "alias": "type"; "required": false; }; "showTime": { "alias": "showTime"; "required": false; }; "disabledDate": { "alias": "disabledDate"; "required": false; }; "disabledTime": { "alias": "disabledTime"; "required": false; }; "weekStartDay": { "alias": "weekStartDay"; "required": false; }; "showFooter": { "alias": "showFooter"; "required": false; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; "extraFooter": { "alias": "extraFooter"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; }, { "confirm": "confirm"; "clear": "clear"; }, never, never, true, never>;
}
