import { type ReactNode } from 'react';
import { Calendar } from '../../../../ui/src/index';
export type DateParseResult = Date | null;
export declare function parseDateValue(value: unknown): DateParseResult;
export type DatePickerPopoverRenderArgs = {
    selectedDate: DateParseResult;
    setDate: (date: DateParseResult) => void;
    close: () => void;
};
export type DatePickerTriggerRenderArgs = {
    selectedDate: DateParseResult;
    open: boolean;
    openPopover: () => void;
    closePopover: () => void;
    togglePopover: () => void;
    buttonLabel: string;
    placeholder: string;
};
export type DatePickerPopoverProps = {
    selectedDate: DateParseResult;
    onSelectDate: (date: DateParseResult) => void;
    onOpenChange?: (open: boolean) => void;
    placeholder: string;
    formatButtonLabel: (date: Date) => string;
    closeOnSelect?: boolean;
    renderExtras?: (args: DatePickerPopoverRenderArgs) => ReactNode;
    renderFooter?: (args: DatePickerPopoverRenderArgs) => ReactNode;
    renderTrigger?: (args: DatePickerTriggerRenderArgs) => ReactNode;
    open?: boolean;
    disabled?: React.ComponentProps<typeof Calendar>['disabled'];
};
export declare function DatePickerPopover({ selectedDate, onSelectDate, onOpenChange, placeholder, formatButtonLabel, closeOnSelect, renderExtras, renderFooter, renderTrigger, open: controlledOpen, disabled, }: DatePickerPopoverProps): import("react/jsx-runtime").JSX.Element;
