import type { CalendarVariants } from "@heroui/styles";
import type { ComponentPropsWithRef } from "react";
import type { DateValue } from "react-aria-components";
import { Button as ButtonPrimitive, CalendarCell as CalendarCellPrimitive, CalendarGridBody as CalendarGridBodyPrimitive, CalendarGridHeader as CalendarGridHeaderPrimitive, CalendarGrid as CalendarGridPrimitive, CalendarHeaderCell as CalendarHeaderCellPrimitive, Calendar as CalendarPrimitive, Heading as HeadingPrimitive } from "react-aria-components";
interface CalendarRootProps<T extends DateValue = DateValue> extends ComponentPropsWithRef<typeof CalendarPrimitive<T>>, CalendarVariants {
    isYearPickerOpen?: boolean;
    onYearPickerOpenChange?: (isYearPickerOpen: boolean) => void;
    defaultYearPickerOpen?: boolean;
}
declare function CalendarRoot<T extends DateValue = DateValue>({ children, className, defaultYearPickerOpen: defaultYearPickerOpenProp, isYearPickerOpen: isYearPickerOpenProp, maxValue: maxValueProp, minValue: minValueProp, onYearPickerOpenChange: onYearPickerOpenChangeProp, ...rest }: CalendarRootProps<T>): import("react/jsx-runtime").JSX.Element;
declare namespace CalendarRoot {
    var displayName: string;
}
interface CalendarHeaderProps extends ComponentPropsWithRef<"header"> {
    className?: string;
}
declare const CalendarHeader: {
    ({ children, className, ...props }: CalendarHeaderProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
interface CalendarHeadingProps extends ComponentPropsWithRef<typeof HeadingPrimitive> {
}
declare const CalendarHeading: {
    ({ className, ...props }: CalendarHeadingProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
interface CalendarNavButtonProps extends ComponentPropsWithRef<typeof ButtonPrimitive> {
    slot?: "previous" | "next";
}
declare const CalendarNavButton: {
    ({ children, className, slot, ...props }: CalendarNavButtonProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
interface CalendarGridProps extends ComponentPropsWithRef<typeof CalendarGridPrimitive> {
}
declare const CalendarGrid: {
    ({ children, className, weekdayStyle, ...props }: CalendarGridProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
interface CalendarGridHeaderProps extends ComponentPropsWithRef<typeof CalendarGridHeaderPrimitive> {
}
declare const CalendarGridHeader: {
    ({ className, ...props }: CalendarGridHeaderProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
interface CalendarGridBodyProps extends ComponentPropsWithRef<typeof CalendarGridBodyPrimitive> {
}
declare const CalendarGridBody: {
    ({ className, ...props }: CalendarGridBodyProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
interface CalendarHeaderCellProps extends ComponentPropsWithRef<typeof CalendarHeaderCellPrimitive> {
}
declare const CalendarHeaderCell: {
    ({ className, ...props }: CalendarHeaderCellProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
interface CalendarCellProps extends ComponentPropsWithRef<typeof CalendarCellPrimitive> {
}
declare const CalendarCell: {
    ({ children, className, ...props }: CalendarCellProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
interface CalendarCellIndicatorProps extends ComponentPropsWithRef<"span"> {
}
declare const CalendarCellIndicator: {
    ({ className, ...props }: CalendarCellIndicatorProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export { CalendarRoot, CalendarHeader, CalendarHeading, CalendarNavButton, CalendarGrid, CalendarGridHeader, CalendarGridBody, CalendarHeaderCell, CalendarCell, CalendarCellIndicator, };
export type { CalendarRootProps, CalendarHeaderProps, CalendarHeadingProps, CalendarNavButtonProps, CalendarGridProps, CalendarGridHeaderProps, CalendarGridBodyProps, CalendarHeaderCellProps, CalendarCellProps, CalendarCellIndicatorProps, };
