import React, { Dispatch, HTMLAttributes, ReactNode } from "react";
import { InputAttributesWithoutDispatch } from "../../hooks/value";
import { InputHook } from "../../utils/input";
export declare type DatePickerHook = InputHook & {
scrollToCurrent: () => void;
};
export declare type DatePickerAttributes = HTMLAttributes & InputAttributesWithoutDispatch & {
$hook?: DatePickerHook;
$dataType?: "string" | "number" | "date";
$mode?: "ymd" | "ym" | "y";
$uiType?: "list" | "calendar";
$monthTexts?: "en" | "en-s" | "ja" | "num" | Array;
$weekTexts?: "en" | "ja" | Array;
$startWeek?: number;
$rangeFrom?: string | number | Date;
$rangeTo?: string | number | Date;
$dispatch?: Dispatch | Dispatch | Dispatch | Dispatch | Dispatch | Dispatch | Dispatch;
$clickPositive?: (date: string | number | Date) => void | Promise;
$positiveButtonLabel?: ReactNode;
$clickNegative?: () => void | Promise;
$negativeButtonLabel?: ReactNode;
$changing?: (date: Date) => void;
};
declare const DatePicker: React.ForwardRefExoticComponent & InputAttributesWithoutDispatch & {
$hook?: DatePickerHook;
$dataType?: "string" | "number" | "date";
$mode?: "ymd" | "ym" | "y";
$uiType?: "list" | "calendar";
$monthTexts?: "en" | "en-s" | "ja" | "num" | Array;
$weekTexts?: "en" | "ja" | Array;
$startWeek?: number;
$rangeFrom?: string | number | Date;
$rangeTo?: string | number | Date;
$dispatch?: Dispatch | Dispatch | Dispatch | Dispatch | Dispatch | Dispatch | Dispatch;
$clickPositive?: (date: string | number | Date) => void | Promise;
$positiveButtonLabel?: ReactNode;
$clickNegative?: () => void | Promise;
$negativeButtonLabel?: ReactNode;
$changing?: (date: Date) => void;
} & React.RefAttributes>;
export declare const useDatePicker: () => DatePickerHook;
export default DatePicker;