import dayjs from 'dayjs';
import type { DateValue, TdDatePickerProps } from '../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>;
    time: import("@vue/composition-api").Ref<string | string[]>;
    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<{
        ref: import("@vue/composition-api").Ref<any>;
        size: import("../..").SizeEnum;
        prefixIcon: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
        placeholder: any;
        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("../..").InputFormatType;
        inputClass?: import("../..").ClassName;
        label?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        maxcharacter?: number;
        maxlength?: number;
        name?: string;
        readonly?: boolean;
        showClearIconOnEmpty?: boolean;
        showLimitNumber?: 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?: string;
        defaultValue?: string;
        onClick?: (context: {
            e: MouseEvent;
        }) => void;
        onCompositionend?: (value: string, context: {
            e: CompositionEvent;
        }) => void;
        onCompositionstart?: (value: string, context: {
            e: CompositionEvent;
        }) => void;
        onKeydown?: (value: string, context: {
            e: KeyboardEvent;
        }) => void;
        onKeypress?: (value: string, context: {
            e: KeyboardEvent;
        }) => void;
        onKeyup?: (value: string, 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<{
        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;
        trigger?: "click" | "focus" | "mousedown" | "hover" | "context-menu";
        triggerElement?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        visible?: boolean;
        defaultVisible?: boolean;
        zIndex?: number;
        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/useVModel").ChangeHandler<DateValue, [context: {
        dayjsValue?: dayjs.Dayjs;
        trigger?: import("../type").DatePickerTriggerSource;
    }]>;
};
