import { default as dayjs, Dayjs } from 'dayjs';
import { ApFieldDateProps } from '../interface';
import { ApFormatPresetType } from './interface';
import { CreateComponentPublicInstanceWithMixins, ExtractPropTypes, PropType, CSSProperties, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, DefineComponent, VNode, RendererNode, RendererElement } from 'vue';
import { PresetDate, DisabledTime, PanelMode, CustomFormat, PickerMode } from '@aplus-frontend/antdv/es/vc-picker/interface';
import { VueNode, CustomSlotsType } from '@aplus-frontend/antdv/es/_util/type';
import { MonthCellRender } from '@aplus-frontend/antdv/es/vc-picker/panels/MonthPanel/MonthBody';
import { FocusEventHandler, MouseEventHandler } from '@aplus-frontend/antdv/es/_util/EventInterface';
import { SharedTimeProps } from '@aplus-frontend/antdv/es/vc-picker/panels/TimePanel';
import { PickerLocale } from '@aplus-frontend/antdv/es/date-picker/generatePicker';
import { SizeType } from '@aplus-frontend/antdv/es/button';
import { DateRender } from '@aplus-frontend/antdv/es/vc-picker/panels/DatePanel/DateBody';
import { FieldMode } from '..';
import { LiteralUnion } from '../../type';
type ApFieldDataSlots = {
    dateRender: any;
    suffixIcon?: any;
    prevIcon?: any;
    nextIcon?: any;
    superPrevIcon?: any;
    superNextIcon?: any;
    renderExtraFooter?: any;
    monthCellRender?: any;
    monthCellContentRender?: any;
    clearIcon?: any;
    default?: any;
};
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<ApFieldDataSlots> & ApFieldDataSlots;
    refs: {
        datePickerRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
            defaultPickerValue: {
                type: PropType<string | Dayjs>;
                default: string | Dayjs;
            };
            defaultValue: {
                type: PropType<string | Dayjs>;
                default: string | Dayjs;
            };
            value: {
                type: PropType<string | Dayjs>;
                default: string | Dayjs;
            };
            presets: {
                type: PropType< PresetDate<Dayjs>[]>;
                default: PresetDate<Dayjs>[];
            };
            disabledTime: {
                type: PropType<DisabledTime<Dayjs>>;
                default: DisabledTime<Dayjs>;
            };
            renderExtraFooter: {
                type: PropType<(mode: PanelMode) => VueNode>;
                default: (mode: PanelMode) => VueNode;
            };
            showNow: {
                type: BooleanConstructor;
                default: boolean;
            };
            monthCellRender: {
                type: PropType<MonthCellRender<Dayjs>>;
                default: MonthCellRender<Dayjs>;
            };
            monthCellContentRender: {
                type: PropType<MonthCellRender<Dayjs>>;
                default: MonthCellRender<Dayjs>;
            };
            id: StringConstructor;
            dropdownClassName: StringConstructor;
            popupClassName: StringConstructor;
            popupStyle: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            transitionName: StringConstructor;
            placeholder: StringConstructor;
            allowClear: {
                type: BooleanConstructor;
                default: boolean;
            };
            autofocus: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            tabindex: NumberConstructor;
            open: {
                type: BooleanConstructor;
                default: boolean;
            };
            defaultOpen: {
                type: BooleanConstructor;
                default: boolean;
            };
            inputReadOnly: {
                type: BooleanConstructor;
                default: boolean;
            };
            format: {
                type: PropType<string | CustomFormat<Dayjs> | (string | CustomFormat<Dayjs>)[]>;
                default: string | CustomFormat<Dayjs> | (string | CustomFormat<Dayjs>)[];
            };
            getPopupContainer: {
                type: PropType<(node: HTMLElement) => HTMLElement>;
                default: (node: HTMLElement) => HTMLElement;
            };
            panelRender: {
                type: PropType<(originPanel: VueNode) => VueNode>;
                default: (originPanel: VueNode) => VueNode;
            };
            onChange: {
                type: PropType<(value: string | Dayjs, dateString: string) => void>;
                default: (value: string | Dayjs, dateString: string) => void;
            };
            'onUpdate:value': {
                type: PropType<(value: string | Dayjs) => void>;
                default: (value: string | Dayjs) => void;
            };
            onOk: {
                type: PropType<(value: string | Dayjs) => void>;
                default: (value: string | Dayjs) => void;
            };
            onOpenChange: {
                type: PropType<(open: boolean) => void>;
                default: (open: boolean) => void;
            };
            'onUpdate:open': {
                type: PropType<(open: boolean) => void>;
                default: (open: boolean) => void;
            };
            onFocus: {
                type: PropType<FocusEventHandler>;
                default: FocusEventHandler;
            };
            onBlur: {
                type: PropType<FocusEventHandler>;
                default: FocusEventHandler;
            };
            onMousedown: {
                type: PropType<MouseEventHandler>;
                default: MouseEventHandler;
            };
            onMouseup: {
                type: PropType<MouseEventHandler>;
                default: MouseEventHandler;
            };
            onMouseenter: {
                type: PropType<MouseEventHandler>;
                default: MouseEventHandler;
            };
            onMouseleave: {
                type: PropType<MouseEventHandler>;
                default: MouseEventHandler;
            };
            onClick: {
                type: PropType<MouseEventHandler>;
                default: MouseEventHandler;
            };
            onContextmenu: {
                type: PropType<MouseEventHandler>;
                default: MouseEventHandler;
            };
            onKeydown: {
                type: PropType<(event: KeyboardEvent, preventDefault: () => void) => void>;
                default: (event: KeyboardEvent, preventDefault: () => void) => void;
            };
            role: StringConstructor;
            name: StringConstructor;
            autocomplete: StringConstructor;
            direction: {
                type: PropType<"rtl" | "ltr">;
                default: "rtl" | "ltr";
            };
            showToday: {
                type: BooleanConstructor;
                default: boolean;
            };
            showTime: {
                type: PropType<boolean | SharedTimeProps<Dayjs>>;
                default: boolean | SharedTimeProps<Dayjs>;
            };
            locale: {
                type: PropType<PickerLocale>;
                default: PickerLocale;
            };
            size: {
                type: PropType<SizeType>;
                default: SizeType;
            };
            bordered: {
                type: BooleanConstructor;
                default: boolean;
            };
            variant: {
                type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
                default: "filled" | "outlined" | "borderless" | "underlined";
            };
            dateRender: {
                type: PropType<DateRender<Dayjs>>;
                default: DateRender<Dayjs>;
            };
            disabledDate: {
                type: PropType<(date: Dayjs) => boolean>;
                default: (date: Dayjs) => boolean;
            };
            mode: {
                type: PropType<PanelMode>;
                default: PanelMode;
            };
            picker: {
                type: PropType<PickerMode>;
                default: PickerMode;
            };
            valueFormat: StringConstructor;
            placement: {
                type: PropType<"bottomLeft" | "bottomRight" | "topLeft" | "topRight">;
                default: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
            };
            status: {
                type: PropType<"" | "error" | "warning">;
                default: "" | "error" | "warning";
            };
            disabledHours: {
                type: PropType<() => number[]>;
                default: () => number[];
            };
            disabledMinutes: {
                type: PropType<(hour: number) => number[]>;
                default: (hour: number) => number[];
            };
            disabledSeconds: {
                type: PropType<(hour: number, minute: number) => number[]>;
                default: (hour: number, minute: number) => number[];
            };
        }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
            size: SizeType;
            value: string | Dayjs;
            mode: PanelMode;
            onMouseenter: MouseEventHandler;
            onMouseleave: MouseEventHandler;
            onClick: MouseEventHandler;
            onFocus: FocusEventHandler;
            onBlur: FocusEventHandler;
            onChange: (value: string | Dayjs, dateString: string) => void;
            onKeydown: (event: KeyboardEvent, preventDefault: () => void) => void;
            onContextmenu: MouseEventHandler;
            onMousedown: MouseEventHandler;
            onMouseup: MouseEventHandler;
            open: boolean;
            direction: "rtl" | "ltr";
            disabled: boolean;
            disabledDate: (date: Dayjs) => boolean;
            picker: PickerMode;
            locale: PickerLocale;
            format: string | CustomFormat<Dayjs> | (string | CustomFormat<Dayjs>)[];
            disabledHours: () => number[];
            disabledMinutes: (hour: number) => number[];
            disabledSeconds: (hour: number, minute: number) => number[];
            disabledTime: DisabledTime<Dayjs>;
            autofocus: boolean;
            getPopupContainer: (node: HTMLElement) => HTMLElement;
            variant: "filled" | "outlined" | "borderless" | "underlined";
            bordered: boolean;
            'onUpdate:value': (value: string | Dayjs) => void;
            status: "" | "error" | "warning";
            defaultValue: string | Dayjs;
            allowClear: boolean;
            defaultOpen: boolean;
            placement: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
            popupStyle: CSSProperties;
            onOpenChange: (open: boolean) => void;
            'onUpdate:open': (open: boolean) => void;
            defaultPickerValue: string | Dayjs;
            dateRender: DateRender<Dayjs>;
            monthCellRender: MonthCellRender<Dayjs>;
            renderExtraFooter: (mode: PanelMode) => VueNode;
            onOk: (value: string | Dayjs) => void;
            inputReadOnly: boolean;
            presets: PresetDate<Dayjs>[];
            panelRender: (originPanel: VueNode) => VueNode;
            showToday: boolean;
            showTime: boolean | SharedTimeProps<Dayjs>;
            showNow: boolean;
            monthCellContentRender: MonthCellRender<Dayjs>;
        }, true, {}, CustomSlotsType<{
            suffixIcon?: any;
            prevIcon?: any;
            nextIcon?: any;
            superPrevIcon?: any;
            superNextIcon?: any;
            dateRender?: any;
            renderExtraFooter?: any;
            monthCellRender?: any;
            monthCellContentRender?: any;
            clearIcon?: any;
            default?: any;
        }>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly< ExtractPropTypes<{
            defaultPickerValue: {
                type: PropType<string | Dayjs>;
                default: string | Dayjs;
            };
            defaultValue: {
                type: PropType<string | Dayjs>;
                default: string | Dayjs;
            };
            value: {
                type: PropType<string | Dayjs>;
                default: string | Dayjs;
            };
            presets: {
                type: PropType< PresetDate<Dayjs>[]>;
                default: PresetDate<Dayjs>[];
            };
            disabledTime: {
                type: PropType<DisabledTime<Dayjs>>;
                default: DisabledTime<Dayjs>;
            };
            renderExtraFooter: {
                type: PropType<(mode: PanelMode) => VueNode>;
                default: (mode: PanelMode) => VueNode;
            };
            showNow: {
                type: BooleanConstructor;
                default: boolean;
            };
            monthCellRender: {
                type: PropType<MonthCellRender<Dayjs>>;
                default: MonthCellRender<Dayjs>;
            };
            monthCellContentRender: {
                type: PropType<MonthCellRender<Dayjs>>;
                default: MonthCellRender<Dayjs>;
            };
            id: StringConstructor;
            dropdownClassName: StringConstructor;
            popupClassName: StringConstructor;
            popupStyle: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            transitionName: StringConstructor;
            placeholder: StringConstructor;
            allowClear: {
                type: BooleanConstructor;
                default: boolean;
            };
            autofocus: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            tabindex: NumberConstructor;
            open: {
                type: BooleanConstructor;
                default: boolean;
            };
            defaultOpen: {
                type: BooleanConstructor;
                default: boolean;
            };
            inputReadOnly: {
                type: BooleanConstructor;
                default: boolean;
            };
            format: {
                type: PropType<string | CustomFormat<Dayjs> | (string | CustomFormat<Dayjs>)[]>;
                default: string | CustomFormat<Dayjs> | (string | CustomFormat<Dayjs>)[];
            };
            getPopupContainer: {
                type: PropType<(node: HTMLElement) => HTMLElement>;
                default: (node: HTMLElement) => HTMLElement;
            };
            panelRender: {
                type: PropType<(originPanel: VueNode) => VueNode>;
                default: (originPanel: VueNode) => VueNode;
            };
            onChange: {
                type: PropType<(value: string | Dayjs, dateString: string) => void>;
                default: (value: string | Dayjs, dateString: string) => void;
            };
            'onUpdate:value': {
                type: PropType<(value: string | Dayjs) => void>;
                default: (value: string | Dayjs) => void;
            };
            onOk: {
                type: PropType<(value: string | Dayjs) => void>;
                default: (value: string | Dayjs) => void;
            };
            onOpenChange: {
                type: PropType<(open: boolean) => void>;
                default: (open: boolean) => void;
            };
            'onUpdate:open': {
                type: PropType<(open: boolean) => void>;
                default: (open: boolean) => void;
            };
            onFocus: {
                type: PropType<FocusEventHandler>;
                default: FocusEventHandler;
            };
            onBlur: {
                type: PropType<FocusEventHandler>;
                default: FocusEventHandler;
            };
            onMousedown: {
                type: PropType<MouseEventHandler>;
                default: MouseEventHandler;
            };
            onMouseup: {
                type: PropType<MouseEventHandler>;
                default: MouseEventHandler;
            };
            onMouseenter: {
                type: PropType<MouseEventHandler>;
                default: MouseEventHandler;
            };
            onMouseleave: {
                type: PropType<MouseEventHandler>;
                default: MouseEventHandler;
            };
            onClick: {
                type: PropType<MouseEventHandler>;
                default: MouseEventHandler;
            };
            onContextmenu: {
                type: PropType<MouseEventHandler>;
                default: MouseEventHandler;
            };
            onKeydown: {
                type: PropType<(event: KeyboardEvent, preventDefault: () => void) => void>;
                default: (event: KeyboardEvent, preventDefault: () => void) => void;
            };
            role: StringConstructor;
            name: StringConstructor;
            autocomplete: StringConstructor;
            direction: {
                type: PropType<"rtl" | "ltr">;
                default: "rtl" | "ltr";
            };
            showToday: {
                type: BooleanConstructor;
                default: boolean;
            };
            showTime: {
                type: PropType<boolean | SharedTimeProps<Dayjs>>;
                default: boolean | SharedTimeProps<Dayjs>;
            };
            locale: {
                type: PropType<PickerLocale>;
                default: PickerLocale;
            };
            size: {
                type: PropType<SizeType>;
                default: SizeType;
            };
            bordered: {
                type: BooleanConstructor;
                default: boolean;
            };
            variant: {
                type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
                default: "filled" | "outlined" | "borderless" | "underlined";
            };
            dateRender: {
                type: PropType<DateRender<Dayjs>>;
                default: DateRender<Dayjs>;
            };
            disabledDate: {
                type: PropType<(date: Dayjs) => boolean>;
                default: (date: Dayjs) => boolean;
            };
            mode: {
                type: PropType<PanelMode>;
                default: PanelMode;
            };
            picker: {
                type: PropType<PickerMode>;
                default: PickerMode;
            };
            valueFormat: StringConstructor;
            placement: {
                type: PropType<"bottomLeft" | "bottomRight" | "topLeft" | "topRight">;
                default: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
            };
            status: {
                type: PropType<"" | "error" | "warning">;
                default: "" | "error" | "warning";
            };
            disabledHours: {
                type: PropType<() => number[]>;
                default: () => number[];
            };
            disabledMinutes: {
                type: PropType<(hour: number) => number[]>;
                default: (hour: number) => number[];
            };
            disabledSeconds: {
                type: PropType<(hour: number, minute: number) => number[]>;
                default: (hour: number, minute: number) => number[];
            };
        }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
            size: SizeType;
            value: string | Dayjs;
            mode: PanelMode;
            onMouseenter: MouseEventHandler;
            onMouseleave: MouseEventHandler;
            onClick: MouseEventHandler;
            onFocus: FocusEventHandler;
            onBlur: FocusEventHandler;
            onChange: (value: string | Dayjs, dateString: string) => void;
            onKeydown: (event: KeyboardEvent, preventDefault: () => void) => void;
            onContextmenu: MouseEventHandler;
            onMousedown: MouseEventHandler;
            onMouseup: MouseEventHandler;
            open: boolean;
            direction: "rtl" | "ltr";
            disabled: boolean;
            disabledDate: (date: Dayjs) => boolean;
            picker: PickerMode;
            locale: PickerLocale;
            format: string | CustomFormat<Dayjs> | (string | CustomFormat<Dayjs>)[];
            disabledHours: () => number[];
            disabledMinutes: (hour: number) => number[];
            disabledSeconds: (hour: number, minute: number) => number[];
            disabledTime: DisabledTime<Dayjs>;
            autofocus: boolean;
            getPopupContainer: (node: HTMLElement) => HTMLElement;
            variant: "filled" | "outlined" | "borderless" | "underlined";
            bordered: boolean;
            'onUpdate:value': (value: string | Dayjs) => void;
            status: "" | "error" | "warning";
            defaultValue: string | Dayjs;
            allowClear: boolean;
            defaultOpen: boolean;
            placement: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
            popupStyle: CSSProperties;
            onOpenChange: (open: boolean) => void;
            'onUpdate:open': (open: boolean) => void;
            defaultPickerValue: string | Dayjs;
            dateRender: DateRender<Dayjs>;
            monthCellRender: MonthCellRender<Dayjs>;
            renderExtraFooter: (mode: PanelMode) => VueNode;
            onOk: (value: string | Dayjs) => void;
            inputReadOnly: boolean;
            presets: PresetDate<Dayjs>[];
            panelRender: (originPanel: VueNode) => VueNode;
            showToday: boolean;
            showTime: boolean | SharedTimeProps<Dayjs>;
            showNow: boolean;
            monthCellContentRender: MonthCellRender<Dayjs>;
        }> | null;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<ApFieldDateProps, {
    blur: () => void;
    focus: () => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    "update:value": (...args: any[]) => void;
}, string, PublicProps, Readonly<ApFieldDateProps> & Readonly<{
    "onUpdate:value"?: ((...args: any[]) => any) | undefined;
}>, {
    mode: FieldMode;
    open: boolean;
    disabled: boolean;
    autofocus: boolean;
    bordered: boolean;
    clearIcon: string | number | boolean | void | VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }> | (string | number | boolean | void | VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }> | null | undefined)[] | VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }> | null;
    allowClear: boolean;
    suffixIcon: string | number | boolean | void | VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }> | (string | number | boolean | void | VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }> | null | undefined)[] | VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }> | null;
    defaultOpen: boolean;
    emptyText: string;
    inputReadOnly: boolean;
    format: LiteralUnion<ApFormatPresetType, string>;
    showToday: boolean;
    showTime: boolean | SharedTimeProps<dayjs.Dayjs>;
    formatBegins: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    datePickerRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
        defaultPickerValue: {
            type: PropType<string | Dayjs>;
            default: string | Dayjs;
        };
        defaultValue: {
            type: PropType<string | Dayjs>;
            default: string | Dayjs;
        };
        value: {
            type: PropType<string | Dayjs>;
            default: string | Dayjs;
        };
        presets: {
            type: PropType< PresetDate<Dayjs>[]>;
            default: PresetDate<Dayjs>[];
        };
        disabledTime: {
            type: PropType<DisabledTime<Dayjs>>;
            default: DisabledTime<Dayjs>;
        };
        renderExtraFooter: {
            type: PropType<(mode: PanelMode) => VueNode>;
            default: (mode: PanelMode) => VueNode;
        };
        showNow: {
            type: BooleanConstructor;
            default: boolean;
        };
        monthCellRender: {
            type: PropType<MonthCellRender<Dayjs>>;
            default: MonthCellRender<Dayjs>;
        };
        monthCellContentRender: {
            type: PropType<MonthCellRender<Dayjs>>;
            default: MonthCellRender<Dayjs>;
        };
        id: StringConstructor;
        dropdownClassName: StringConstructor;
        popupClassName: StringConstructor;
        popupStyle: {
            type: PropType<CSSProperties>;
            default: CSSProperties;
        };
        transitionName: StringConstructor;
        placeholder: StringConstructor;
        allowClear: {
            type: BooleanConstructor;
            default: boolean;
        };
        autofocus: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        tabindex: NumberConstructor;
        open: {
            type: BooleanConstructor;
            default: boolean;
        };
        defaultOpen: {
            type: BooleanConstructor;
            default: boolean;
        };
        inputReadOnly: {
            type: BooleanConstructor;
            default: boolean;
        };
        format: {
            type: PropType<string | CustomFormat<Dayjs> | (string | CustomFormat<Dayjs>)[]>;
            default: string | CustomFormat<Dayjs> | (string | CustomFormat<Dayjs>)[];
        };
        getPopupContainer: {
            type: PropType<(node: HTMLElement) => HTMLElement>;
            default: (node: HTMLElement) => HTMLElement;
        };
        panelRender: {
            type: PropType<(originPanel: VueNode) => VueNode>;
            default: (originPanel: VueNode) => VueNode;
        };
        onChange: {
            type: PropType<(value: string | Dayjs, dateString: string) => void>;
            default: (value: string | Dayjs, dateString: string) => void;
        };
        'onUpdate:value': {
            type: PropType<(value: string | Dayjs) => void>;
            default: (value: string | Dayjs) => void;
        };
        onOk: {
            type: PropType<(value: string | Dayjs) => void>;
            default: (value: string | Dayjs) => void;
        };
        onOpenChange: {
            type: PropType<(open: boolean) => void>;
            default: (open: boolean) => void;
        };
        'onUpdate:open': {
            type: PropType<(open: boolean) => void>;
            default: (open: boolean) => void;
        };
        onFocus: {
            type: PropType<FocusEventHandler>;
            default: FocusEventHandler;
        };
        onBlur: {
            type: PropType<FocusEventHandler>;
            default: FocusEventHandler;
        };
        onMousedown: {
            type: PropType<MouseEventHandler>;
            default: MouseEventHandler;
        };
        onMouseup: {
            type: PropType<MouseEventHandler>;
            default: MouseEventHandler;
        };
        onMouseenter: {
            type: PropType<MouseEventHandler>;
            default: MouseEventHandler;
        };
        onMouseleave: {
            type: PropType<MouseEventHandler>;
            default: MouseEventHandler;
        };
        onClick: {
            type: PropType<MouseEventHandler>;
            default: MouseEventHandler;
        };
        onContextmenu: {
            type: PropType<MouseEventHandler>;
            default: MouseEventHandler;
        };
        onKeydown: {
            type: PropType<(event: KeyboardEvent, preventDefault: () => void) => void>;
            default: (event: KeyboardEvent, preventDefault: () => void) => void;
        };
        role: StringConstructor;
        name: StringConstructor;
        autocomplete: StringConstructor;
        direction: {
            type: PropType<"rtl" | "ltr">;
            default: "rtl" | "ltr";
        };
        showToday: {
            type: BooleanConstructor;
            default: boolean;
        };
        showTime: {
            type: PropType<boolean | SharedTimeProps<Dayjs>>;
            default: boolean | SharedTimeProps<Dayjs>;
        };
        locale: {
            type: PropType<PickerLocale>;
            default: PickerLocale;
        };
        size: {
            type: PropType<SizeType>;
            default: SizeType;
        };
        bordered: {
            type: BooleanConstructor;
            default: boolean;
        };
        variant: {
            type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
            default: "filled" | "outlined" | "borderless" | "underlined";
        };
        dateRender: {
            type: PropType<DateRender<Dayjs>>;
            default: DateRender<Dayjs>;
        };
        disabledDate: {
            type: PropType<(date: Dayjs) => boolean>;
            default: (date: Dayjs) => boolean;
        };
        mode: {
            type: PropType<PanelMode>;
            default: PanelMode;
        };
        picker: {
            type: PropType<PickerMode>;
            default: PickerMode;
        };
        valueFormat: StringConstructor;
        placement: {
            type: PropType<"bottomLeft" | "bottomRight" | "topLeft" | "topRight">;
            default: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
        };
        status: {
            type: PropType<"" | "error" | "warning">;
            default: "" | "error" | "warning";
        };
        disabledHours: {
            type: PropType<() => number[]>;
            default: () => number[];
        };
        disabledMinutes: {
            type: PropType<(hour: number) => number[]>;
            default: (hour: number) => number[];
        };
        disabledSeconds: {
            type: PropType<(hour: number, minute: number) => number[]>;
            default: (hour: number, minute: number) => number[];
        };
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
        size: SizeType;
        value: string | Dayjs;
        mode: PanelMode;
        onMouseenter: MouseEventHandler;
        onMouseleave: MouseEventHandler;
        onClick: MouseEventHandler;
        onFocus: FocusEventHandler;
        onBlur: FocusEventHandler;
        onChange: (value: string | Dayjs, dateString: string) => void;
        onKeydown: (event: KeyboardEvent, preventDefault: () => void) => void;
        onContextmenu: MouseEventHandler;
        onMousedown: MouseEventHandler;
        onMouseup: MouseEventHandler;
        open: boolean;
        direction: "rtl" | "ltr";
        disabled: boolean;
        disabledDate: (date: Dayjs) => boolean;
        picker: PickerMode;
        locale: PickerLocale;
        format: string | CustomFormat<Dayjs> | (string | CustomFormat<Dayjs>)[];
        disabledHours: () => number[];
        disabledMinutes: (hour: number) => number[];
        disabledSeconds: (hour: number, minute: number) => number[];
        disabledTime: DisabledTime<Dayjs>;
        autofocus: boolean;
        getPopupContainer: (node: HTMLElement) => HTMLElement;
        variant: "filled" | "outlined" | "borderless" | "underlined";
        bordered: boolean;
        'onUpdate:value': (value: string | Dayjs) => void;
        status: "" | "error" | "warning";
        defaultValue: string | Dayjs;
        allowClear: boolean;
        defaultOpen: boolean;
        placement: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
        popupStyle: CSSProperties;
        onOpenChange: (open: boolean) => void;
        'onUpdate:open': (open: boolean) => void;
        defaultPickerValue: string | Dayjs;
        dateRender: DateRender<Dayjs>;
        monthCellRender: MonthCellRender<Dayjs>;
        renderExtraFooter: (mode: PanelMode) => VueNode;
        onOk: (value: string | Dayjs) => void;
        inputReadOnly: boolean;
        presets: PresetDate<Dayjs>[];
        panelRender: (originPanel: VueNode) => VueNode;
        showToday: boolean;
        showTime: boolean | SharedTimeProps<Dayjs>;
        showNow: boolean;
        monthCellContentRender: MonthCellRender<Dayjs>;
    }, true, {}, CustomSlotsType<{
        suffixIcon?: any;
        prevIcon?: any;
        nextIcon?: any;
        superPrevIcon?: any;
        superNextIcon?: any;
        dateRender?: any;
        renderExtraFooter?: any;
        monthCellRender?: any;
        monthCellContentRender?: any;
        clearIcon?: any;
        default?: any;
    }>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly< ExtractPropTypes<{
        defaultPickerValue: {
            type: PropType<string | Dayjs>;
            default: string | Dayjs;
        };
        defaultValue: {
            type: PropType<string | Dayjs>;
            default: string | Dayjs;
        };
        value: {
            type: PropType<string | Dayjs>;
            default: string | Dayjs;
        };
        presets: {
            type: PropType< PresetDate<Dayjs>[]>;
            default: PresetDate<Dayjs>[];
        };
        disabledTime: {
            type: PropType<DisabledTime<Dayjs>>;
            default: DisabledTime<Dayjs>;
        };
        renderExtraFooter: {
            type: PropType<(mode: PanelMode) => VueNode>;
            default: (mode: PanelMode) => VueNode;
        };
        showNow: {
            type: BooleanConstructor;
            default: boolean;
        };
        monthCellRender: {
            type: PropType<MonthCellRender<Dayjs>>;
            default: MonthCellRender<Dayjs>;
        };
        monthCellContentRender: {
            type: PropType<MonthCellRender<Dayjs>>;
            default: MonthCellRender<Dayjs>;
        };
        id: StringConstructor;
        dropdownClassName: StringConstructor;
        popupClassName: StringConstructor;
        popupStyle: {
            type: PropType<CSSProperties>;
            default: CSSProperties;
        };
        transitionName: StringConstructor;
        placeholder: StringConstructor;
        allowClear: {
            type: BooleanConstructor;
            default: boolean;
        };
        autofocus: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        tabindex: NumberConstructor;
        open: {
            type: BooleanConstructor;
            default: boolean;
        };
        defaultOpen: {
            type: BooleanConstructor;
            default: boolean;
        };
        inputReadOnly: {
            type: BooleanConstructor;
            default: boolean;
        };
        format: {
            type: PropType<string | CustomFormat<Dayjs> | (string | CustomFormat<Dayjs>)[]>;
            default: string | CustomFormat<Dayjs> | (string | CustomFormat<Dayjs>)[];
        };
        getPopupContainer: {
            type: PropType<(node: HTMLElement) => HTMLElement>;
            default: (node: HTMLElement) => HTMLElement;
        };
        panelRender: {
            type: PropType<(originPanel: VueNode) => VueNode>;
            default: (originPanel: VueNode) => VueNode;
        };
        onChange: {
            type: PropType<(value: string | Dayjs, dateString: string) => void>;
            default: (value: string | Dayjs, dateString: string) => void;
        };
        'onUpdate:value': {
            type: PropType<(value: string | Dayjs) => void>;
            default: (value: string | Dayjs) => void;
        };
        onOk: {
            type: PropType<(value: string | Dayjs) => void>;
            default: (value: string | Dayjs) => void;
        };
        onOpenChange: {
            type: PropType<(open: boolean) => void>;
            default: (open: boolean) => void;
        };
        'onUpdate:open': {
            type: PropType<(open: boolean) => void>;
            default: (open: boolean) => void;
        };
        onFocus: {
            type: PropType<FocusEventHandler>;
            default: FocusEventHandler;
        };
        onBlur: {
            type: PropType<FocusEventHandler>;
            default: FocusEventHandler;
        };
        onMousedown: {
            type: PropType<MouseEventHandler>;
            default: MouseEventHandler;
        };
        onMouseup: {
            type: PropType<MouseEventHandler>;
            default: MouseEventHandler;
        };
        onMouseenter: {
            type: PropType<MouseEventHandler>;
            default: MouseEventHandler;
        };
        onMouseleave: {
            type: PropType<MouseEventHandler>;
            default: MouseEventHandler;
        };
        onClick: {
            type: PropType<MouseEventHandler>;
            default: MouseEventHandler;
        };
        onContextmenu: {
            type: PropType<MouseEventHandler>;
            default: MouseEventHandler;
        };
        onKeydown: {
            type: PropType<(event: KeyboardEvent, preventDefault: () => void) => void>;
            default: (event: KeyboardEvent, preventDefault: () => void) => void;
        };
        role: StringConstructor;
        name: StringConstructor;
        autocomplete: StringConstructor;
        direction: {
            type: PropType<"rtl" | "ltr">;
            default: "rtl" | "ltr";
        };
        showToday: {
            type: BooleanConstructor;
            default: boolean;
        };
        showTime: {
            type: PropType<boolean | SharedTimeProps<Dayjs>>;
            default: boolean | SharedTimeProps<Dayjs>;
        };
        locale: {
            type: PropType<PickerLocale>;
            default: PickerLocale;
        };
        size: {
            type: PropType<SizeType>;
            default: SizeType;
        };
        bordered: {
            type: BooleanConstructor;
            default: boolean;
        };
        variant: {
            type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
            default: "filled" | "outlined" | "borderless" | "underlined";
        };
        dateRender: {
            type: PropType<DateRender<Dayjs>>;
            default: DateRender<Dayjs>;
        };
        disabledDate: {
            type: PropType<(date: Dayjs) => boolean>;
            default: (date: Dayjs) => boolean;
        };
        mode: {
            type: PropType<PanelMode>;
            default: PanelMode;
        };
        picker: {
            type: PropType<PickerMode>;
            default: PickerMode;
        };
        valueFormat: StringConstructor;
        placement: {
            type: PropType<"bottomLeft" | "bottomRight" | "topLeft" | "topRight">;
            default: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
        };
        status: {
            type: PropType<"" | "error" | "warning">;
            default: "" | "error" | "warning";
        };
        disabledHours: {
            type: PropType<() => number[]>;
            default: () => number[];
        };
        disabledMinutes: {
            type: PropType<(hour: number) => number[]>;
            default: (hour: number) => number[];
        };
        disabledSeconds: {
            type: PropType<(hour: number, minute: number) => number[]>;
            default: (hour: number, minute: number) => number[];
        };
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
        size: SizeType;
        value: string | Dayjs;
        mode: PanelMode;
        onMouseenter: MouseEventHandler;
        onMouseleave: MouseEventHandler;
        onClick: MouseEventHandler;
        onFocus: FocusEventHandler;
        onBlur: FocusEventHandler;
        onChange: (value: string | Dayjs, dateString: string) => void;
        onKeydown: (event: KeyboardEvent, preventDefault: () => void) => void;
        onContextmenu: MouseEventHandler;
        onMousedown: MouseEventHandler;
        onMouseup: MouseEventHandler;
        open: boolean;
        direction: "rtl" | "ltr";
        disabled: boolean;
        disabledDate: (date: Dayjs) => boolean;
        picker: PickerMode;
        locale: PickerLocale;
        format: string | CustomFormat<Dayjs> | (string | CustomFormat<Dayjs>)[];
        disabledHours: () => number[];
        disabledMinutes: (hour: number) => number[];
        disabledSeconds: (hour: number, minute: number) => number[];
        disabledTime: DisabledTime<Dayjs>;
        autofocus: boolean;
        getPopupContainer: (node: HTMLElement) => HTMLElement;
        variant: "filled" | "outlined" | "borderless" | "underlined";
        bordered: boolean;
        'onUpdate:value': (value: string | Dayjs) => void;
        status: "" | "error" | "warning";
        defaultValue: string | Dayjs;
        allowClear: boolean;
        defaultOpen: boolean;
        placement: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
        popupStyle: CSSProperties;
        onOpenChange: (open: boolean) => void;
        'onUpdate:open': (open: boolean) => void;
        defaultPickerValue: string | Dayjs;
        dateRender: DateRender<Dayjs>;
        monthCellRender: MonthCellRender<Dayjs>;
        renderExtraFooter: (mode: PanelMode) => VueNode;
        onOk: (value: string | Dayjs) => void;
        inputReadOnly: boolean;
        presets: PresetDate<Dayjs>[];
        panelRender: (originPanel: VueNode) => VueNode;
        showToday: boolean;
        showTime: boolean | SharedTimeProps<Dayjs>;
        showNow: boolean;
        monthCellContentRender: MonthCellRender<Dayjs>;
    }> | null;
}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
