import React, { FC, HTMLAttributes, ReactElement, ReactNode } from "react";
import { FitToOuter, Signal } from "../styles/css-var";
import { ButtonIconProps } from "./button";
export declare type CalendarHook = {
setDate: (value: Date | string | number) => void;
getDate: () => Date;
};
export declare type CalendarCellAttributes = {
children?: ReactNode;
};
export declare type CalendarCellTemplate
= FC
;
export declare type CalendarAttributes = HTMLAttributes & {
$hook?: CalendarHook;
$fto?: FitToOuter;
$weekTexts?: "en" | "ja" | Array;
$startWeek?: number;
$defaultDate?: Date;
$disabled?: boolean;
$changed?: (ctx: {
after: Date;
before: Date;
}) => void;
children: ReactElement;
$signal?: Signal;
$prevMonthButtonIcon?: ButtonIconProps;
$prevYearButtonIcon?: ButtonIconProps;
$nextMonthButtonIcon?: ButtonIconProps;
$nextYearButtonIcon?: ButtonIconProps;
};
declare const Calendar: React.ForwardRefExoticComponent & {
$hook?: CalendarHook;
$fto?: FitToOuter;
$weekTexts?: "en" | "ja" | Array;
$startWeek?: number;
$defaultDate?: Date;
$disabled?: boolean;
$changed?: (ctx: {
after: Date;
before: Date;
}) => void;
children: ReactElement;
$signal?: Signal;
$prevMonthButtonIcon?: ButtonIconProps;
$prevYearButtonIcon?: ButtonIconProps;
$nextMonthButtonIcon?: ButtonIconProps;
$nextYearButtonIcon?: ButtonIconProps;
} & React.RefAttributes>;
export declare const useCalendar: () => CalendarHook;
export default Calendar;