import { EventEmitter } from '@angular/core';
import dayjs, { Dayjs } from 'dayjs';
import { CommonFormControl } from '../../../form/common-form';
import { TimePickerModel } from '../../../time-picker/time-picker.type';
import { DateNavRange, DisabledTimeFn, Side } from '../../date-picker.type';
import { DatePickerType } from '../constant';
import * as i0 from "@angular/core";
export declare class DateRangePickerPanelComponent extends CommonFormControl<Dayjs[]> {
    clearable: boolean;
    clearText: string;
    showTime: boolean;
    showFooter: boolean;
    disabledDate: (date: Dayjs, navRange: DateNavRange, startDate: Dayjs) => boolean;
    disabledTime: {
        left: DisabledTimeFn;
        right: DisabledTimeFn;
    };
    weekStartDay: number;
    minDate: Dayjs;
    maxDate: Dayjs;
    clear: EventEmitter<void>;
    confirm: EventEmitter<void>;
    bem: import("../../../internal/utils").Bem;
    Side: typeof Side;
    DatePickerType: typeof DatePickerType;
    leftDateRange: DateNavRange;
    rightDateRange: DateNavRange;
    FOOTER_DATE_FORMAT: string;
    leftAnchor: dayjs.Dayjs;
    rightAnchor: dayjs.Dayjs;
    get maxHeaderAvail(): dayjs.Dayjs;
    get minHeaderAvail(): dayjs.Dayjs;
    rangeValue: Dayjs[];
    matchValues: Dayjs[];
    startTime: TimePickerModel;
    endTime: TimePickerModel;
    writeValue(obj: Dayjs[]): void;
    calendarRangeChange(type: DateNavRange, side: Side): void;
    getDateDisabledFn(side: Side, constrainValue: Dayjs): (date: Dayjs, navRange: DateNavRange) => boolean;
    private getDisabledTimeCachedFn;
    leftDisabledTimeFn: (value: Dayjs, key: keyof ReturnType<DisabledTimeFn>) => (() => number[]) | ((hour?: number) => number[]) | ((hour?: number, minute?: number) => number[]);
    rightDisabledTimeFn: (value: Dayjs, key: keyof ReturnType<DisabledTimeFn>) => (() => number[]) | ((hour?: number) => number[]) | ((hour?: number, minute?: number) => number[]);
    selectPickerPanel(value: Dayjs, side: Side): void;
    reorder(sortedDate: Dayjs[]): void;
    hoverItem(date: Dayjs): void;
    confirmValue(value: Dayjs[], closeThen?: boolean): void;
    timeChange(time: TimePickerModel): void;
    syncTime(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DateRangePickerPanelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DateRangePickerPanelComponent, "aui-date-range-picker-panel", never, { "clearable": { "alias": "clearable"; "required": false; }; "clearText": { "alias": "clearText"; "required": false; }; "showTime": { "alias": "showTime"; "required": false; }; "showFooter": { "alias": "showFooter"; "required": false; }; "disabledDate": { "alias": "disabledDate"; "required": false; }; "disabledTime": { "alias": "disabledTime"; "required": false; }; "weekStartDay": { "alias": "weekStartDay"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; }, { "clear": "clear"; "confirm": "confirm"; }, never, never, true, never>;
}
