import dayjs from 'dayjs';
import { TdDatePickerProps, DateValue } from '../type';
import { TdInputProps } from '../../input/type';
export default function useSingle(props: TdDatePickerProps, { emit }: any): {
    year: import("@vue/composition-api").Ref<number>;
    month: import("@vue/composition-api").Ref<number>;
    value: import("@vue/composition-api").Ref<DateValue | import("../type").DateMultipleValue>;
    time: any;
    inputValue: import("@vue/composition-api").Ref<string | number | string[] | number[] | Date | Date[]>;
    popupVisible: import("@vue/composition-api").Ref<boolean>;
    inputProps: import("@vue/composition-api").ComputedRef<TdInputProps<import("../../input/type").InputValue> | {
        ref: import("@vue/composition-api").Ref<any>;
        borderless: boolean;
        size: import("../..").SizeEnum;
        prefixIcon: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
        class: {
            [x: string]: boolean;
        }[];
        onClear: (context: {
            e: InputEvent;
        }) => void;
        onBlur: (val: string, context: {
            e: FocusEvent;
        }) => void;
        onFocus: (_: string, { e }: {
            e: FocusEvent;
        }) => void;
        onChange: (val: string) => void;
        onEnter: (val: string) => void;
        align?: "center" | "left" | "right";
        allowInputOverMax?: boolean;
        autoWidth?: boolean;
        autocomplete?: string;
        autofocus?: boolean;
        clearable?: boolean;
        disabled?: boolean;
        format?: import("../../input/type").InputFormatType;
        inputClass?: import("../..").ClassName;
        label?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        maxcharacter?: number;
        maxlength?: string | number;
        name?: string;
        placeholder?: string;
        readonly?: boolean;
        showClearIconOnEmpty?: boolean;
        showLimitNumber?: boolean;
        spellCheck?: boolean;
        status?: "error" | "default" | "success" | "warning";
        suffix?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        suffixIcon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
        tips?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        type?: "number" | "search" | "password" | "url" | "hidden" | "text" | "submit" | "tel";
        value?: import("../../input/type").InputValue;
        defaultValue?: import("../../input/type").InputValue;
        onClick?: (context: {
            e: MouseEvent;
        }) => void;
        onCompositionend?: (value: string, context: {
            e: CompositionEvent;
        }) => void;
        onCompositionstart?: (value: string, context: {
            e: CompositionEvent;
        }) => void;
        onKeydown?: (value: import("../../input/type").InputValue, context: {
            e: KeyboardEvent;
        }) => void;
        onKeypress?: (value: import("../../input/type").InputValue, context: {
            e: KeyboardEvent;
        }) => void;
        onKeyup?: (value: import("../../input/type").InputValue, context: {
            e: KeyboardEvent;
        }) => void;
        onMouseenter?: (context: {
            e: MouseEvent;
        }) => void;
        onMouseleave?: (context: {
            e: MouseEvent;
        }) => void;
        onPaste?: (context: {
            e: ClipboardEvent;
            pasteValue: string;
        }) => void;
        onValidate?: (context: {
            error?: "exceed-maximum" | "below-minimum";
        }) => void;
        onWheel?: (context: {
            e: WheelEvent;
        }) => void;
    }>;
    popupProps: import("@vue/composition-api").ComputedRef<{
        trigger: string;
        overlayInnerStyle: import("../..").Styles | ((triggerElement: HTMLElement, popupElement: HTMLElement) => import("../..").Styles);
        overlayClassName: import("../..").ClassName[];
        onVisibleChange: (visible: boolean, context: any) => void;
        attach?: import("../..").AttachNode;
        content?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        default?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        delay?: number | number[];
        destroyOnClose?: boolean;
        disabled?: boolean;
        hideEmptyPopup?: boolean;
        overlayInnerClassName?: import("../..").ClassName;
        overlayStyle?: import("../..").Styles | ((triggerElement: HTMLElement, popupElement: HTMLElement) => import("../..").Styles);
        placement?: import("../..").PopupPlacement;
        popperOptions?: object;
        showArrow?: boolean;
        triggerElement?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        visible?: boolean;
        defaultVisible?: boolean;
        zIndex?: number;
        onOverlayClick?: (context: {
            e: MouseEvent;
        }) => void;
        onScroll?: (context: {
            e: WheelEvent;
        }) => void;
        onScrollToBottom?: (context: {
            e: WheelEvent;
        }) => void;
        expandAnimation: boolean;
    }>;
    inputRef: import("@vue/composition-api").Ref<any>;
    cacheValue: import("@vue/composition-api").Ref<string | number | string[] | number[] | Date | Date[]>;
    isHoverCell: import("@vue/composition-api").Ref<boolean>;
    onChange: import("../../hooks").ChangeHandler<DateValue | import("../type").DateMultipleValue, [context: {
        dayjsValue?: dayjs.Dayjs;
        trigger?: import("../type").DatePickerTriggerSource;
    }]>;
};
